最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

MC68HC08匠人應(yīng)用手記

作者:程序匠人 欄目:單片機(jī)
MC68HC08匠人應(yīng)用手記
MC68HC08匠人應(yīng)用手記.txt

前言

匠人最近開(kāi)始和MC68HC908的親密接觸.(忙著和它約會(huì),連上網(wǎng)次數(shù)也少了許多,嘿嘿....)
作為一個(gè)長(zhǎng)期用匯編的工程師"轉(zhuǎn)行"用C寫(xiě)程序,感覺(jué)挺累人,不過(guò)苦中也有樂(lè).愿將原汁原味的手記與大家分享.
這篇手記將隨著匠人的經(jīng)驗(yàn)值不斷升級(jí)而不斷更新,其中會(huì)有心得,也會(huì)有困惑,權(quán)當(dāng)是一個(gè)過(guò)程的見(jiàn)證吧.
首先得聲明,匠人是第一次用摩托羅拉的芯片,也是第一次用ANSI_C語(yǔ)言,所以手記中如有錯(cuò)誤和問(wèn)題,望大伙指點(diǎn).還有一點(diǎn)需要聲明的是,本文中有些段落是從其它文檔中摘抄或整理而來(lái),匠人無(wú)抄襲之意.


/*****************************************
01.C語(yǔ)言中嵌入?yún)R編的4種方式:
*****************************************/

//嵌入?yún)R編方式1(宏):
EnableInterrupts;                       // 開(kāi)中斷                       


//嵌入?yún)R編方式2(可嵌入多條指令):
asm {                                             
  lda _PTB ;
}                     

//嵌入?yún)R編方式3(單條指令):
asm  eor #0b00000100 ;    


//嵌入?yún)R編方式4(單條指令):
asm (" eor #4 ");            



/*****************************************
02.C語(yǔ)言中數(shù)的表示方式:
*****************************************/

****舉例如下:

二進(jìn)制:      0b00000100
十進(jìn)制:   4
十六進(jìn)制: 0x4

****注意:匯編指令的表示方式與C的表示方式不一樣,但如果是在C中嵌入?yún)R編,則也要按C的方式來(lái)寫(xiě)
****問(wèn)題:八進(jìn)制的引導(dǎo)符號(hào)還不知道


/*****************************************
03.循環(huán)體的3種寫(xiě)法:
*****************************************/
寫(xiě)法1:
while(1);
{
......
}



寫(xiě)法2:
for(;;);
{
......
}


寫(xiě)法3:
loop:
    ......
    goto loop    




/*****************************************
04.關(guān)于復(fù)位及中斷的入口地址:
*****************************************/    
所有的入口地址都存儲(chǔ)在$FFD0~$FFFF區(qū)域中
比如:復(fù)位地址存儲(chǔ)在$FFFE~$FFFF中(缺省值=DC8C,即復(fù)位后從DC8C處開(kāi)始執(zhí)行)

****問(wèn)題:如何修改入口地址,還不清楚


* - 本貼最后修改時(shí)間:2005-7-26 12:59:06 修改者:程序匠人

2樓: >>參與討論
AIRWILL
你用的啥編譯器啊,Code warrror 的功能可是非常強(qiáng)大的
遠(yuǎn)在 keil 上啊

3樓: >>參與討論
程序匠人
對(duì),就是Code warrror,功能確實(shí)很強(qiáng),就是不太會(huì)用
 
4樓: >>參與討論
hotpower
頂一下
A人用C就是不一樣...

5樓: >>參與討論
lishuanghua
呵呵,匠人終于要用C了!
習(xí)慣后你會(huì)覺(jué)得用匯編是多么的累

6樓: >>參與討論
ehua
到這里看看吧
http://www.edatech.com/bbs/index.asp
下面是關(guān)于這個(gè)軟件的一些常見(jiàn)問(wèn)題
http://www.edatech.com/bbs/dispbbs.asp?BoardID=3&replyID=284&id=284&star=1&skin=0

7樓: >>參與討論
汽車電子
是呀,Code warrror很好用,但
   都是Metrowerks的軟件,怎么支持ARM的就比支持MOTOROLA的差這么遠(yuǎn)?

8樓: >>參與討論
pheavecn
我還是用的匯編呢!!
匠人也來(lái)淌這渾水了。
我的MON板自己做的。
可以交流一下。

9樓: >>參與討論
hotpower
匠人爭(zhēng)做AC人
二教主不該落后呀...A人辛苦呀...

我進(jìn)論壇時(shí)幾乎發(fā)表都是A帖,有位網(wǎng)友說(shuō)我不會(huì)C...

哈哈...那我就給他來(lái)個(gè)"變臉",現(xiàn)在全部C...

雖然自己是個(gè)AC人,但一般還是表面的C人...

10樓: >>參與討論
gtw
使用HC08的幾點(diǎn)經(jīng)驗(yàn)
A  應(yīng)當(dāng)先行完成各項(xiàng)設(shè)置,再去開(kāi)中斷。
B  定義入口地址,有多種方法interrupt void (VECTOR_NUMBER) FUNC_NAME(void)即為其一,可以自動(dòng)設(shè)置。
C  CodeWarrior對(duì)恒為“真”的表達(dá)式編譯時(shí)經(jīng)常會(huì)有提示,很羅嗦,如while(1);不如用for(;;)

* - 本貼最后修改時(shí)間:2005-7-4 13:56:31 修改者:gtw

11樓: >>參與討論
程序匠人
MC68HC908JL8匠人應(yīng)用手記_2005-07-04
MC68HC908JL8匠人應(yīng)用手記

前言
匠人最近開(kāi)始和MC68HC908JL8的親密接觸.(忙著和它約會(huì)連上網(wǎng)次數(shù)也少了許多,嘿嘿....)
作為一個(gè)長(zhǎng)期用匯編的工程師"轉(zhuǎn)行"用C寫(xiě)程序,感覺(jué)挺累人,不過(guò)苦中也有樂(lè).愿將原汁原味的手記與大家分享.這篇手記將隨著匠人的經(jīng)驗(yàn)值不斷升級(jí)而不斷更新,其中會(huì)有心得,也會(huì)有困惑,權(quán)當(dāng)是一個(gè)過(guò)程的見(jiàn)證吧.
首先得聲明,匠人是第一次用摩托羅拉的芯片,也是第一次用ANSI_C語(yǔ)言,所以手記中如有錯(cuò)誤和問(wèn)題,望大伙指點(diǎn).

01.    C語(yǔ)言中嵌入?yún)R編的4種方式:
//嵌入?yún)R編方式1(宏):
EnableInterrupts;                       // 開(kāi)中斷      

//嵌入?yún)R編方式2(可嵌入多條指令):
asm {                                             
  lda _PTB ;
}                     

//嵌入?yún)R編方式3(單條指令):
asm  eor #0b00000100 ;    

//嵌入?yún)R編方式4(單條指令):
asm (" eor #4 ");            
02.    C語(yǔ)言中數(shù)的表示方式:
****舉例如下:

二進(jìn)制:      0b00000100
十進(jìn)制:   4
十六進(jìn)制: 0x4

****注意:匯編指令的表示方式與C的表示方式不一樣,但如果是在C中嵌入?yún)R編,則也要按C的方式來(lái)寫(xiě)
****問(wèn)題:八進(jìn)制的引導(dǎo)符號(hào)還不知道


03.    循環(huán)體的3種寫(xiě)法:
寫(xiě)法1:
while(1);
{
......
}

寫(xiě)法2(推薦):
for(;;);
{
......
}

寫(xiě)法3:
loop:
    ......
    goto loop    

****網(wǎng)友gtw答:CodeWarrior對(duì)恒為“真”的表達(dá)式編譯時(shí)經(jīng)常會(huì)有提示,很羅嗦,如while(1);不如用for(;;)
04.    關(guān)于復(fù)位及中斷的入口地址:
所有的入口地址都存儲(chǔ)在$FFD0~$FFFF區(qū)域中
比如:復(fù)位地址存儲(chǔ)在$FFFE~$FFFF中(缺省值=DC8C,即復(fù)位后從DC8C處開(kāi)始執(zhí)行)

****問(wèn)題:如何修改入口地址,還不清楚
****網(wǎng)友gtw答:定義入口地址,有多種方法interrupt void (VECTOR_NUMBER) FUNC_NAME(void)即為其一,可以自動(dòng)設(shè)置。


05.    對(duì)被調(diào)函數(shù)的說(shuō)明(聲明):
1。如果被調(diào)用函數(shù)出現(xiàn)在主調(diào)用函數(shù)之后,則在調(diào)用之前應(yīng)該先對(duì)被調(diào)用函數(shù)的返回值類型作出說(shuō)明
一般形式,如:void delay(void);

2。如果被調(diào)用函數(shù)出現(xiàn)在主調(diào)用函數(shù)之前,則不需要作出說(shuō)明

3。如果被調(diào)用函數(shù)和主調(diào)用函數(shù)不在一個(gè)文件中,則說(shuō)明方式如下:
extern void delay(void);        //注:如果不作說(shuō)明,系統(tǒng)會(huì)警告,但也能進(jìn)入DEBUG狀態(tài)
06.    對(duì)中文支持:
缺省的系統(tǒng)環(huán)境對(duì)中文的支持不好,表現(xiàn)為按刪除鍵時(shí)回將中文刪除一半從而顯示亂碼.
解決方法是選擇[Edit]菜單下的[Preferences…],并按如下設(shè)置:
將EDIT0R中的font&tabs中改動(dòng):

font選擇為宋體
script選擇為chinese_gb2312

****注:也可以在這里設(shè)置TAB所代表的空格數(shù)(缺省是2)



07.    中斷定義有兩種方法:
方法一:
#pragma TRAP_PROC
void IntFunc1(void)
{
/* your code */
}
In your prm file:
VECTOR ADDRESS 0xFFF4 IntFunc1 /* 0xFFF4 contains the address of IntFunc1 */

方法二:
interrupt 3 IntFunc1()
{
…/*code*/
}
Means that the third entry in the vector table is initialized with the address of IntFunc1().

08.    IO口在使用之前必須先初始化,否則會(huì)報(bào)錯(cuò)


09.    相關(guān)網(wǎng)址
ehua 發(fā)表于 2005-7-3 09:27 侃單片機(jī) ←返回版面
到這里看看吧: http://www.edatech.com/bbs/index.asp
下面是關(guān)于這個(gè)軟件的一些常見(jiàn)問(wèn)題:
http://www.edatech.com/bbs/dispbbs.asp?BoardID=3&replyID=284&id=284&star=1&skin=0











10.    數(shù)據(jù)類型
類型                缺省格式    缺省范圍                    可選格式
CHAR(unsigned)            8bit            0~255                        8bit,16bit,32bit
signed CHAR            8bit            -128~127                        8bit,16bit,32bit
unsigned CHAR            8bit            0~255                        8bit,16bit,32bit
signed SHORT            16bit        -32768~32767                    8bit,16bit,32bit
unsigned SHORT            16bit        0~65535                        8bit,16bit,32bit
enum(signed)            16bit        -32768~32767                    8bit,16bit,32bit
signed int                16bit        -32768~32767                    8bit,16bit,32bit
unsigned int            16bit        0~65535                        8bit,16bit,32bit
signed LONG            32bit        -2147483648~2147483647        8bit,16bit,32bit
unsigned LONG            32bit        0~4294967295                8bit,16bit,32bit
signed LONG LONG         32bit        -2147483648~2147483647        8bit,16bit,32bit
unsigned LONG LONG        32bit        0~4294967295                8bit,16bit,32bit

1.    定義寄存器
C51  :   volatile unsigned CHAR Bank1R0         _at_ 0x
12樓: >>參與討論
程序匠人
pheavecn所說(shuō)的自己做的是哪塊板?
我手頭這套包括2塊板,其中一塊有原理圖可以自己做,但另一塊接PC 的沒(méi)有原理圖而且看上去也蠻復(fù)雜的。


另:多謝各位關(guān)注。手記有點(diǎn)凌亂,大伙擔(dān)待些

13樓: >>參與討論
HIGHWAY
呵呵,不錯(cuò)啊,大家多看看MOT也很好啊
 
14樓: >>參與討論
pheavecn
是指一頭接串口,一頭接IRQ/RESET/PB0~PB3的板。
就是調(diào)試時(shí)老是要你"Turn MCU POWER off(Under 0.1V)"的東東。
我給條經(jīng)驗(yàn):

如果你的電源接了大電容,最好先拿掉,或接個(gè)電阻在電源端,否則要等很久才掉電干凈,進(jìn)調(diào)試模式不方便。

15樓: >>參與討論
我的未來(lái)
喜歡
 
16樓: >>參與討論
程序匠人
MC68HC908JL8匠人應(yīng)用手記_續(xù)
13.    IO口使用注意事項(xiàng)
1. IO口的方向寄存器中內(nèi)容與方向的關(guān)系
0代表輸入
1代表輸出
需要注意的是,這一點(diǎn)與其它一些芯片(如PIC,EMC,HT)正好相反

2.IO口在使用之前必須先初始化,否則會(huì)報(bào)錯(cuò)

14.    關(guān)于強(qiáng)制類型轉(zhuǎn)換
符號(hào):  ()
使用方法: (類型)(表達(dá)式)
使用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符可以將一個(gè)表達(dá)式轉(zhuǎn)換成所需的類型;
在強(qiáng)制轉(zhuǎn)換時(shí),得到一個(gè)所需類型的中間變量,原來(lái)變量的類型不變;
在給指針變量賦值時(shí)特別有用,比如當(dāng)指針變量被定義為CHAR型,而需要將一個(gè)int型的變量地址賦值給該指針時(shí),如果不作轉(zhuǎn)換,則系統(tǒng)會(huì)報(bào)警告.這時(shí)做個(gè)類型轉(zhuǎn)化則可避免該問(wèn)題.
如:
wrpage(0x0000,(CHAR *)&ccc,2) ;    
//說(shuō)明:由于ccc的數(shù)據(jù)類型為int型,所以要將其轉(zhuǎn)化為CHAR

又如:
    tx((CHAR)(ADDR_24%256));
    //送數(shù)據(jù)地址并檢測(cè)應(yīng)答信號(hào)   //說(shuō)明:ADDR_24是int型數(shù)據(jù),要轉(zhuǎn)化為CHAR


17樓: >>參與討論
程序匠人
中斷的使用方法
15.    中斷的使用方法
關(guān)于中斷,有很多種方法,在AN2616中提到:
把#pragma TRAP_PROC 放在中斷程序前面,并把中斷向量表放到linker.prm。例如:
#pragma TRAP_PROC
void intSW1(void){
}
-------------------------------------------------
或者使用關(guān)鍵詞interrupt,并把向量表加入linker.prm。例如:
interrupt void intSW1(void){
}
-------------------------------------------------
把向量表的首地址放入linker.prm。例如:
VECTOR ADDRESS 0xFFD2 intSW1
-------------------------------------------------
在定義中斷程序的時(shí)候使用關(guān)鍵詞"interrupt"并把特定的中斷向量號(hào)。這種方法不需要在linker.prm中更改任何東西。例如:
interrupt 22 void intSW1(void){
}
這種方法有很明顯的優(yōu)點(diǎn),它把所有的東西都寫(xiě)在一個(gè)文件中,而不需要依賴于另一個(gè)文件。




18樓: >>參與討論
nishui
歡迎
我一年半前在用FREESCALE的8位單片機(jī),現(xiàn)在用16位的單片機(jī)了,而且在做FREESCALE單片機(jī)的產(chǎn)品,希望大家一起交流學(xué)習(xí)啊。www.dyic.com.cn是我的網(wǎng)址

19樓: >>參與討論
程序匠人
定時(shí)器中斷頻率的計(jì)算
16.    定時(shí)器中斷頻率的計(jì)算
公式:    中斷頻率=總線頻率/(分頻因子*計(jì)數(shù)器預(yù)置值)
注:    總線頻率=晶振頻率/4
        分頻因子可設(shè)置為1,2,4,8,16,32,64

例如:    晶振頻率=8MHZ,總線頻率=2MHZ,分頻因子=32,預(yù)置值=625
        中斷頻率=2000000/(32*625)=100HZ

又如:    晶振頻率=9.8304MHZ,總線頻率=2.4567MHZ,分頻因子=1,預(yù)置值=65536(0X10000)
        中斷頻率=2457600/(1*65536)=37.5HZ

再如:    晶振頻率=9.8304MHZ,總線頻率=2.4567MHZ,分頻因子=64,預(yù)置值=19200(0X4B00)
        中斷頻率=2457600/(64*19200)=2HZ
-------------------------------------------------
初始化程序如下:
//定時(shí)器1初始化
//晶振頻率=9.8304MHZ,總線頻率=2.4567MHZ
//中斷頻率=總線頻率/(分頻因子*預(yù)置值)=2457600/(64*19200)=2HZ
T1SC=0b01000110 ;               //開(kāi)中斷,分頻因子=64
T1MODH=0x4B;                 //預(yù)置值=0x4B00
T1MODL=0x00;
-------------------------------------------------


20樓: >>參與討論
程序匠人
如何產(chǎn)生LST文件
17.    如何產(chǎn)生LST文件
系統(tǒng)缺省時(shí)不會(huì)產(chǎn)生LST文件.如果需要查看LST文件,可以:
1.    選擇菜單[edit]->[P&E ICD SETTINGS]

2.    在彈出窗口中選擇[TARGET]->[ASSEMBLER FOR ……](匯編);或[COMPILER FOR ……](C)
3.    在窗口右邊點(diǎn)擊[options]


4.    在新彈出窗口中切換到[OUTPUT]頁(yè)
5.    在[generate listing file]前打勾即可

18.    問(wèn)題
1.當(dāng)使用定時(shí)器的某個(gè)通道作為定時(shí)器時(shí),該通道對(duì)應(yīng)的IO口作普通IO口用,該如何處理?


21樓: >>參與討論
程序匠人
那天被代理害了....
他老人家給我一塊仿真板,卻不舍得給電源,還告訴我說(shuō)用9V電源;結(jié)果我一上電....就一陣青煙....然后板子就報(bào)廢了.我仔細(xì)一瞅,原來(lái)是該用5V供電.

心痛啊~~~~~~~~~~

22樓: >>參與討論
computer00
那你也太沖動(dòng)了吧?是不是剛拿到板,太激動(dòng)了?嘿嘿
迫不及待的就上電了?

我這里有兩片MC68HC908JB8,帶USB接口的,一直想玩玩,可惜一直沒(méi)去弄它們,
哎,哪天沒(méi)事干了,就搬出來(lái)玩玩吧。拿來(lái)做個(gè)USB接口的電腦紅外遙控器
不錯(cuò)。

23樓: >>參與討論
程序匠人
不是沖動(dòng),而是基于對(duì)代理商FAE的信任。。。
 
24樓: >>參與討論
宇宙飛船
樓主的調(diào)試器用哪個(gè),我沒(méi)有摩托牌照,也想考摩托牌。
 
25樓: >>參與討論
syz528555
我有兩套代理尚送的仿真板.
一套仿JK系列,一套GP32系列.其實(shí)就是MOTO的MON8接口,從串口,并口,或USB
模擬出MON8的幾個(gè)腳定義,從這幾只腳對(duì)MCU進(jìn)行操作,如下載CODE,讀CODE,單步,設(shè)斷點(diǎn).
我用JK做過(guò)產(chǎn)品,資源夠豐富,選型多,豐儉由人,老少皆宜,開(kāi)發(fā)方便.
就是買貨不方便,交期長(zhǎng),價(jià)錢貴.好象MOTO對(duì)散兵游勇興趣不大.
我把它作為超級(jí)大候補(bǔ),一般不動(dòng)用.除非我來(lái)做一個(gè)"勇氣"號(hào),哈哈.

26樓: >>參與討論
程序匠人
是呀,產(chǎn)品牛比,人也牛比,不好交道
 
27樓: >>參與討論
xuhuadong
真是牛人用c,看你的c比看你的匯編還累
 
28樓: >>參與討論
程序匠人
xuhuadong多擔(dān)待些,匠人已聲明自己是第一次用C了
有些習(xí)慣一時(shí)改不過(guò)來(lái)

29樓: >>參與討論
程序匠人
關(guān)于堆棧指針的初始化問(wèn)題,誰(shuí)來(lái)指點(diǎn)一下?
不知該如何處理。牛人們來(lái)指點(diǎn)一下?

30樓: >>參與討論
computer00
C語(yǔ)言編譯器會(huì)自動(dòng)初始化堆棧吧?
 
31樓: >>參與討論
hotpower
我也感覺(jué)奇怪...估計(jì)是AC人的愛(ài)好吧...
正在做ARM菜鳥(niǎo),有空也跟匠人做個(gè)"68菜鳥(niǎo)"

http://www.21icbbs.com/club/bbs/bbsview.asp?essenceid=6698

32樓: >>參與討論
computer00
好,我也要來(lái)湊熱鬧。
編譯器是使用code warrror,那燒寫(xiě)軟件呢?是通過(guò)串口燒寫(xiě)的嗎?

匠人有空的話就給我多點(diǎn)信息吧,省得我跑到網(wǎng)上去搜索了,呵呵。。。

33樓: >>參與討論
syz528555
第三方提供燒寫(xiě)軟件、如P&E company
第三方提供燒寫(xiě)軟件、如P&E

34樓: >>參與討論
最愛(ài)韶涵
不一定,至少EW78K,要自己配置XCL文件
 
35樓: >>參與討論
程序匠人
嘿嘿,匠人是摸著石頭過(guò)河.
 
36樓: >>參與討論
程序匠人
關(guān)于堆棧指針...困惑中...

為何有此一問(wèn),源于今天和代理商FAE的一番交談,他老人家讓我嚇了一跳,他告訴我當(dāng)堆棧溢出時(shí),系統(tǒng)不會(huì)報(bào)告錯(cuò)誤信息,也就是說(shuō)我要自己計(jì)算程序?qū)Χ褩5淖畲笙?并由此設(shè)置堆棧指針.

說(shuō)實(shí)話,匠人不知道C語(yǔ)言里如何計(jì)算堆棧消耗.因?yàn)橛行〤指令,系統(tǒng)會(huì)自動(dòng)調(diào)用函數(shù).而且系統(tǒng)經(jīng)常喜歡把一些數(shù)據(jù)臨時(shí)壓入堆棧.我這個(gè)超級(jí)菜鳥(niǎo)無(wú)法判斷程序到底用了多少層堆棧

晚上運(yùn)行DEMO程序看了一下,發(fā)現(xiàn)C語(yǔ)言編譯器確實(shí)會(huì)自動(dòng)初始化堆棧(好像是187H?),而且一開(kāi)始的兩條指令就是設(shè)置堆棧.匠人只是不明白系統(tǒng)自動(dòng)設(shè)置堆棧的原理是什么,不知它依據(jù)什么來(lái)判斷?還是統(tǒng)一設(shè)置為187H?

37樓: >>參與討論
computer00
那你還好過(guò)了,你的河里還有石頭可以摸。而我的河呢?
里邊全是泥沙,連個(gè)石頭都沒(méi)得摸,只好里邊胡亂瞎游了。還要擔(dān)心被河水沖走了^_^

38樓: >>參與討論
computer00
一般編譯器都會(huì)使用最優(yōu)的方式來(lái)設(shè)置堆棧地址
比如51,51的堆棧的向上生長(zhǎng)的,所以51的編譯器盡量將所有變量放在RAM的低地址
段。而把堆棧指針也盡量往低地址移。如果沒(méi)有指定變量地址,那么所有變量
都在前面,后邊的全部都作為堆棧來(lái)使用。這樣保證有最多的堆?梢杂谩


的確堆棧溢出時(shí)不會(huì)報(bào)警,我以前就吃過(guò)這樣的虧,害我調(diào)試了好久,郁悶死了。

51是把普通函數(shù)的臨時(shí)變量重疊處理了,所以函數(shù)中的變量不會(huì)壓棧,只是要
保存返回地址需要壓棧。這樣函數(shù)多了,棧就用光了。

39樓: >>參與討論
程序匠人
computer00別灰心,匠人的條件比你好不到哪去
基本上也是東一榔頭西一榔頭的在搗鼓.你只要看看我這手記就知道有多亂了,^_^

40樓: >>參與討論
hotpower
我ARM菜鳥(niǎo)3天快畢業(yè)了,你還困在SP中???如何反彈???
今天網(wǎng)友exdata同志給我掃了一個(gè)大地雷...

哈哈,這回我就可把"ARM的牢底來(lái)坐穿"...雖然我連ARM長(zhǎng)什么樣都不知道!!!

不象你們大上海坐地鐵...我們每天下地都過(guò)水坑...

http://www.21icbbs.com/club/bbs/ShowAnnounce.asp?v=&ID=1747443

41樓: >>參與討論
computer00
幸好我一開(kāi)始就用的C語(yǔ)言開(kāi)發(fā),也弄個(gè)幾個(gè)不算太小的程序
如那個(gè)MP3的源代碼,除了那個(gè)字庫(kù)的,另外的3K多行都是我一個(gè)個(gè)字敲出來(lái),
再怎么說(shuō),在C語(yǔ)言的鍵盤輸入功底上總能比匠人略勝一籌吧?嘿嘿。
MP3源代碼見(jiàn)下邊的連接。拿出來(lái)炫炫先,雖然在前輩眼里看來(lái)沒(méi)什么,不過(guò)
我還是自我感覺(jué)挺良好的,
http://www.21icbbs.com/club/bbs/list.asp?boardid=25&page=2&t=1702031&tp=%u4E0A%u6B21%20%u786C%u76D8MP3%u64AD%u653E%u5668%20%u7684%u539F%u7406%u56FE%u53CA%u6E90%u4EE3%u7801%u6539%u8FDB%u7248

42樓: >>參與討論
程序匠人
hotpower 就別挖苦匠人了,
您的武器是坦克----轟轟烈烈,咱這工具只有榔頭----敲敲打打.不是一個(gè)檔次嗎

43樓: >>參與討論
computer00
匠人你應(yīng)該換個(gè)角度想問(wèn)題嘛,
你是榔頭,他是坦克,我是電腦。
電腦可以操縱坦克,但是對(duì)你的榔頭可是無(wú)可奈何。。。。。。
閃人先。。。。。。。。。

44樓: >>參與討論
aMonster
看了匠人的筆記
看了第一篇還有點(diǎn)話說(shuō),
看了后面的就沒(méi)什么說(shuō)的了,
呵呵,
匠人進(jìn)步很快啊~~
沒(méi)有早點(diǎn)看到這個(gè)帖子
JL8用C是有點(diǎn)挑戰(zhàn)性的,尤其是在成本的束縛下,
更需要編出高效率,低容量,而通用性又不差的代碼啊~~
呵呵
看來(lái)匠人有的頭疼了

45樓: >>參與討論
程序匠人
aMonster所說(shuō)的挑戰(zhàn)是指什么?
 
46樓: >>參與討論
程序匠人
轉(zhuǎn)貼,關(guān)于MON08
在MON08中疑惑的問(wèn)題?
我看可很多FREESCALE的單片機(jī)的datasheet,在MONITOR ROM一章中會(huì)提到有兩種進(jìn)入MONITOR rom的方式,一種為normal方式,一種為forced方式.forced方式較為簡(jiǎn)單,不需要占用太多的I/O口,不需要一個(gè)高電壓,但是它需要一個(gè)特殊的條件,就是
If $FFFE and $FFFF contain $FF
其中$FFFE and $FFFF 是復(fù)位時(shí)的地址,也就是說(shuō)只有在復(fù)位向量中包含FFFF,FFFF時(shí)在能進(jìn)入這種方式.我對(duì)這一點(diǎn)不是很理解.它的意思是不是在芯片中沒(méi)有程序的時(shí)候.才能進(jìn)入forced mode.
因?yàn)樵谏想姀?fù)位的時(shí)候,$FFFE and $FFFF 中的數(shù)據(jù)會(huì)裝入程序計(jì)數(shù)器中,我想問(wèn)下,$FFFE and $FFFF 中在芯片為空的時(shí)候是什么數(shù)據(jù)?在芯片非空的時(shí)候是什么數(shù)據(jù)?
----------------------------------------------
立志做個(gè)專業(yè)的工程師
  

發(fā)貼時(shí)間: Jul 21 2005 9:15AM ||          


  


strongchen     
 頭銜:版主
  
    

對(duì),$FFFE和$FFFF就是復(fù)位中斷的矢量地址。當(dāng)芯片為空時(shí),復(fù)位矢量也為空,其中的數(shù)據(jù)為$FFFF。當(dāng)芯片復(fù)位后,監(jiān)控程序會(huì)檢測(cè)復(fù)位矢量的值,如果發(fā)現(xiàn)數(shù)據(jù)為空(即為$FFFF),監(jiān)控程序會(huì)強(qiáng)制啟動(dòng),使芯片進(jìn)入監(jiān)控模式,即所謂的強(qiáng)制方式(forced)。
----------------------------------------------
海納百川 有容乃大
  

發(fā)貼時(shí)間: Jul 21 2005 9:56AM ||          


  


天涯倦客     
  
    

那這種燒寫(xiě)方式意義好像不大啊,只有是空芯片才能進(jìn)入監(jiān)控方式.如果單只有這種方式,那好像就是一次性燒寫(xiě)了.
----------------------------------------------
立志做個(gè)專業(yè)的工程師
  

發(fā)貼時(shí)間: Jul 21 2005 10:16AM ||          


  


strongchen     
 頭銜:版主
  
    

所以還有一種正常方式(normal)。當(dāng)芯片不空時(shí),通過(guò)特殊電平的設(shè)置,仍可以進(jìn)入監(jiān)控模式。
----------------------------------------------
海納百川 有容乃大
  

發(fā)貼時(shí)間: Jul 21 2005 11:34AM ||          


  


天涯倦客     
  
    

謝謝版主,這個(gè)我知道,但是這種方式需要占用一些I/O口,不過(guò)現(xiàn)在也在湊合著用.i/o口盡量復(fù)用吧
----------------------------------------------
立志做個(gè)專業(yè)的工程師
  

發(fā)貼時(shí)間: Jul 21 2005 11:45AM ||          


  


strongchen     
 頭銜:版主
  
    

只是復(fù)位時(shí)需要幾個(gè)口線的電平設(shè)置。進(jìn)入監(jiān)控狀態(tài)后,只需一個(gè)口進(jìn)行通訊,其余的口線都被釋放,可用回正常功能。
----------------------------------------------






47樓: >>參與討論
mcu2002
up,關(guān)注中
我也正用到MC68HC908JL8芯片,希望以后大家可以多多交流.

48樓: >>參與討論
黃果樹(shù)
re:
code warrror功能強(qiáng)大,但是感覺(jué)界面沒(méi)有PIC的MPALB友好,特別是仿真時(shí)另外彈出一個(gè)窗口,不能在此窗口修改源代碼,編譯.煩!
聽(tīng)說(shuō)code warrror軟仿真功能強(qiáng)大,一直沒(méi)有琢磨過(guò),期望那天有高手出馬,寫(xiě)本教程!
mon08的仿真模式,斷點(diǎn)只能設(shè)一個(gè),占用IO口,沒(méi)有經(jīng)驗(yàn)的很難連接上,連接上也會(huì)很容易死掉,必須復(fù)位..還不如一些小日本的mcu(也用片上仿真).目前我用過(guò)的最好的片上仿真的8bit mcu是ZILOG的新款FLASH mcu,專用一個(gè)DBG口仿真燒錄,一連就上.百發(fā)百中:)

* - 本貼最后修改時(shí)間:2005-8-1 0:27:03 修改者:黃果樹(shù)

49樓: >>參與討論
黃果樹(shù)
張明峰跳到FREESCALE了,匠人找他切磋切磋!
 
50樓: >>參與討論
lufeijian
哈哈!終于有人討論MC68HC08.html">MC68HC08的MCU了,好啊
我也在學(xué)習(xí)MC68的MCU,仿佛是在學(xué)8086。。。嘿嘿


51樓: >>參與討論
勇敢的葉子
我的捕捉中斷進(jìn)不去,能不能幫我看一下問(wèn)題出在哪呢?
我寫(xiě)的是一個(gè)用捕捉測(cè)頻率的小程序,剛開(kāi)始學(xué)著做,水平很差勁,在寫(xiě)中斷服務(wù)程序的時(shí)候總是進(jìn)不去啊,
我寫(xiě)了一段程序想看一下是不是進(jìn)入中斷了:
#include <hidef.h> /* for EnableInterrupts macro */
#include <MC68HC908JL8.h> /* include peripheral declarations */
int i=0 ;
interrupt 3 void read1 ()
         {
         
         for (i=0;i<=1000;i++)
         {
          PTA=0XFD;
          PTB=0X3F;
         }
          T1SC0_CH0F=0;
          }

       void main()
{
  EnableInterrupts; /* enable interrupts */
  /* include your code here */

  T1SC=0X42;
  T1MODH=0X03;
  T1MODL=0XE8;
  T1SC0=0XC4;
  DDRA=0XFF;
  DDRB=0XFF;
  DDRD=0XEF;/* 初始化 */
  PTA=0XEF;
  PTB=0X5B;
    while (1)
     {
    ;}
    
  __RESET_WATCHDOG();
  
}
中斷之后讓數(shù)碼管顯示一個(gè)數(shù),可是總是沒(méi)有反映,是什么問(wèn)題呢?

52樓: >>參與討論
程序匠人
經(jīng)驗(yàn)教訓(xùn)
20.    關(guān)于MON08調(diào)試的頻率
由于強(qiáng)制通訊波特率為FBUS/256,因此總線頻率受到主機(jī)軟件允許的標(biāo)準(zhǔn)波特率的限制
當(dāng)晶振=9.8304MHZ時(shí),內(nèi)部總線=9.8304/4=2.4576MHZ.

這里會(huì)有一個(gè)問(wèn)題,即調(diào)試時(shí)的工作頻率和產(chǎn)品的實(shí)際工作頻率不一致

21.    關(guān)于全局變量
全局變量必須在main的初始化中進(jìn)行初值設(shè)置,
否則,系統(tǒng)不會(huì)為其分配固定地址.這會(huì)導(dǎo)致變量中的數(shù)據(jù)丟失.
這個(gè)問(wèn)題讓匠人吃了許多藥

22.    關(guān)于運(yùn)算中需要注意的問(wèn)題
當(dāng)不同長(zhǎng)度的變量進(jìn)行運(yùn)算勢(shì),要特別當(dāng)心,避免某些變量被”截肢”
//比如:
unsigned LONG aaa;
unsigned int bbb;
unsigned int ccc;
        bbb=1000    ;
        ccc=2000;
//下面的指令計(jì)算后,aaa并沒(méi)有如預(yù)期的變成20000000,而是變成了33920,原因是高位被裁減掉了
        aaa=bbb*ccc;
//改成下面的指令后,結(jié)果正確
        aaa=ccc;
        aaa=aaa*bbb;
        


53樓: >>參與討論
程序匠人
黃果樹(shù)說(shuō)的問(wèn)題確實(shí)困擾著匠人
mon08的仿真模式,斷點(diǎn)只能設(shè)一個(gè),占用IO口,沒(méi)有經(jīng)驗(yàn)的很難連接上,連接上也會(huì)很容易死掉,必須復(fù)位.

54樓: >>參與討論
黃果樹(shù)
程序匠人!如果你的公司MCU用量大的話,
建議向代理商借一個(gè)8000RMB的那種仿真器.好用及了!

55樓: >>參與討論
newcore

好貼,偶正有這個(gè)東東的問(wèn)題,MARK一下。。。
匠人兄現(xiàn)在在做這個(gè)呀,呵呵,正好,有問(wèn)題可以找到人請(qǐng)教了:)

有空的話看看偶的問(wèn)題吧:
http://www.21icbbs.com/club/bbs/list.asp?boardid=11&page=1&t=1771546&tp=MOTOROLA%20hc908ap64%u8FDE%u63A5%u51FA%u9519%3F
謝先!

56樓: >>參與討論
yanfengzhu
不錯(cuò)
 
57樓: >>參與討論
yadog
reMC68HC08匠人應(yīng)用手記
沒(méi)事兒也去瞅瞅

58樓: >>參與討論
音樂(lè)樂(lè)樂(lè)
請(qǐng)教匠人,
---全局變量必須在main的初始化中進(jìn)行初值設(shè)置,
否則,系統(tǒng)不會(huì)為其分配固定地址.這會(huì)導(dǎo)致變量中的數(shù)據(jù)丟失.

這是什么編譯器?我用過(guò)的編譯器怎么都沒(méi)有這個(gè)問(wèn)題?如果不賦值,則全局變量會(huì)自動(dòng)初始化為0吧?

59樓: >>參與討論
agency1980
終于有人討論MOTO
我也是MOTO一族!使用JL8,QY4,LK24等!

60樓: >>參與討論
程序匠人
音樂(lè)樂(lè)樂(lè),我也在困惑中....
我舉個(gè)例子:
有一個(gè)變量,我在程序中對(duì)其的賦值最多只有3種狀態(tài):0,1,2.
按理,不論何時(shí)停下程序,查看該變量都應(yīng)該在0~2之間吧?但實(shí)際上我發(fā)現(xiàn)每次數(shù)據(jù)都亂跳了.后來(lái)沒(méi)辦法在初始化段里加了一條賦值語(yǔ)句居然就好了.

今天發(fā)現(xiàn)有些變量即使在初始化中加了賦值語(yǔ)句也沒(méi)用(感覺(jué)是數(shù)據(jù)被沖掉了).還請(qǐng)高手們指點(diǎn)迷津呢!

61樓: >>參與討論
雁舞白沙
什么好MCU ?改天我也用用!
 
62樓: >>參與討論
程序匠人
轉(zhuǎn)貼:這幾天在研究面費(fèi)的M68uics08得到一個(gè)結(jié)論
    >>歡迎您,請(qǐng)先登陸 | 注冊(cè) | 網(wǎng)友通信簿 | 排行 | 搜索 | 修改資料 | 退出登錄    
  
     中電網(wǎng)專業(yè)技術(shù)論壇
    飛思卡爾?半導(dǎo)體(FREESCALE SEMICONDUCTOR, Inc.)[返回]
       瀏覽:這幾天在研究面費(fèi)的M68uics08得到一個(gè)結(jié)論
     您是本帖的第 114 個(gè)閱讀者     
* 貼子主題: 這幾天在研究面費(fèi)的M68uics08得到一個(gè)結(jié)論    


liu1234     
  
    
這幾天在研究面費(fèi)的M68uics08得到一個(gè)結(jié)論
以qt4為例:ics mon08進(jìn)入監(jiān)控時(shí)不需用戶關(guān)心pta1,pta4的0、1狀態(tài),即使j9-j13的跳線完全斷開(kāi)也沒(méi)有關(guān)系,而cyclone mon08必需關(guān)心這兩腳的0、1狀態(tài)否則無(wú)法進(jìn)入監(jiān)控模式j(luò)9必需1,j10必需0,以上結(jié)論對(duì)否,請(qǐng)指正
----------------------------------------------
liu1234就是我,歡迎訪問(wèn)我的博客http://www.mcublog.com/blog.asp?NAME=liu1234
  

發(fā)貼時(shí)間: Jul 19 2005 1:40PM ||          


  


strongchen     
 頭銜:版主
  
    

我認(rèn)為應(yīng)該是,當(dāng)芯片為空時(shí),PTA1和PTA4的狀態(tài)無(wú)需關(guān)心;而芯片非空時(shí),要進(jìn)入監(jiān)控模式,必須在IRQ腳上加高電壓,且PTA1必須為1,PTA4必須為0。
----------------------------------------------
海納百川 有容乃大
  

發(fā)貼時(shí)間: Jul 19 2005 1:55PM ||          


  


liu1234     
  
    

我也認(rèn)為這個(gè)結(jié)論是錯(cuò)的,可是說(shuō)明書(shū)上這段話怎么理解
3.2. Cyclone MON08 接口
Cyclone MON08 接口要求用戶注意進(jìn)入監(jiān)控模式的I/O 腳的限制(例如當(dāng)進(jìn)入監(jiān)控模式時(shí),某
些腳必須拉高或拉低)。另一方面,Cyclone MON08 可以供給目標(biāo)系統(tǒng)電源和時(shí)鐘信號(hào)。具體的
信息請(qǐng)參見(jiàn)Cyclone 用戶手冊(cè)。
3.3. ICS MON08 接口
ICS MON08 接口不要求用戶注意進(jìn)入監(jiān)控模式的I/O 腳的條件(也就是說(shuō)如果需要進(jìn)入監(jiān)控模
式,M68UICS08 板自己會(huì)處理)。目標(biāo)電源和時(shí)鐘信號(hào)是由T7 和T8 提供的。
使用ICS MON08 接口時(shí)有下述要求:
MON08 接口連接的目的是提供一個(gè)將MCU 與目標(biāo)系統(tǒng)板其他部分隔離的方法。所有連到MON08 接
插口的MCU 信號(hào)都不應(yīng)再連到目標(biāo)板的其他任何地方(地線除外)。當(dāng)MON08 連接不用時(shí),
MON08 接插口的腳3-4、5-6、7-8、9-10、11-12、13-14、15-16,以及MON08 的腳1 到1
個(gè)腳的插頭間要加上短接跳線。這樣就將目標(biāo)MCU 與目標(biāo)板完全連接起來(lái),從而允許目標(biāo)系統(tǒng)的
正常運(yùn)行。當(dāng)MON08 電纜加在M68UICS08 和目標(biāo)板之間,即使目標(biāo)MCU 在目標(biāo)板上,也可以對(duì)
它進(jìn)行編程和調(diào)試等操作。
除了復(fù)位時(shí),M68UICS08 將MODE1# .. MODE5#與TGT_MODE1# .. TGT_MODE5#連通。復(fù)位
時(shí),MODE1# .. MODE5#有電壓加在上面從而配置MCU,使其復(fù)位后進(jìn)入相應(yīng)的模式。(即監(jiān)控
模式的條件可以通過(guò)M68UICS08 的J9 到J13 來(lái)設(shè)置)。PTA0 及PTB0 和PTB1 不用連到
TGT_xxxx,因?yàn)檫@些信號(hào)用于與調(diào)試軟件的串行通訊。
復(fù)位和外部中斷(/IRQ)信號(hào)的上拉應(yīng)該放在MON08 接插頭的目標(biāo)板一邊,而不應(yīng)放在MCU 那
一邊。將復(fù)位或外部中斷(/IRQ)腳連接出去可能導(dǎo)致無(wú)法通過(guò)MON08 進(jìn)行調(diào)試,還可能引起目
標(biāo)板上元器件的損壞,因?yàn)檫@些腳上的信號(hào)電壓可能高達(dá)7.5Vdc。請(qǐng)參見(jiàn)3.4 應(yīng)用示例,它推
薦了將MCU 連接到MON08 接插頭以及目標(biāo)板其他部分的原理圖。
這個(gè)接插頭可以布置成8 行× 2 列,間距為0.1 英寸的通孔,用導(dǎo)線將相應(yīng)的信號(hào)腳相連,這
樣,以后經(jīng)MON08 接口調(diào)試完成的板子不用再給每個(gè)MON08 信號(hào)加短接跳線就能作為產(chǎn)品板使
用。當(dāng)然對(duì)于那些要用MON08 接口調(diào)試的板子,則須將導(dǎo)線割斷并安上一個(gè)連接到M68UICS08
的接插頭。此時(shí)再要恢復(fù)正常運(yùn)行, 就要加短接跳線了。請(qǐng)參見(jiàn)附帶的
M68EPA08QTQY/M68EPA08JLJK 電路板
----------------------------------------------
liu1234就是我,歡迎訪問(wèn)我的博客http://www.mcublog.com/blog.asp?NAME=liu1234
  

發(fā)貼時(shí)間: Jul 19 2005 1:59PM ||          


  


strongchen     
 頭銜:版主
  
    

這段話的意思就是,當(dāng)采用Cyclone MON08接口方式時(shí),所有的口線電平都要在用戶的目標(biāo)板上配置;而采用ICS08 MON08接口方式時(shí),M68UICS08已在主板上對(duì)相應(yīng)口線進(jìn)行了配置,所以用戶的目標(biāo)板上就無(wú)需再去配置。
----------------------------------------------
海納百川 有容乃大
  

發(fā)貼時(shí)間: Jul 19 2005 2:20PM ||          


  


liu1234     
  
    

我總結(jié)如下:1、當(dāng)芯片為空時(shí),PTA1和PTA4的狀態(tài)無(wú)需關(guān)心;而芯片非空時(shí),要進(jìn)入監(jiān)控模式,必須在IRQ腳上加高電壓,且PTA1必須為1,PTA4必須為0。2、當(dāng)采用Cyclone MON08接口方式時(shí),用戶必需注意進(jìn)入監(jiān)控條件的引腳電平不要與目標(biāo)板的實(shí)際連接電平相沖突,M68UICS08主板未對(duì)二者進(jìn)行隔離,但提供時(shí)鐘和電源信號(hào),而ics mon08接口M68UICS08主板對(duì)二者進(jìn)行隔離,使得僅在復(fù)位時(shí)進(jìn)入監(jiān)控條件的引腳電平與目標(biāo)板的實(shí)際連接不相通(為目標(biāo)板提供進(jìn)入監(jiān)控條件的電平),脫離復(fù)位狀態(tài)后二者是相通的,但不提供時(shí)鐘和電源信號(hào)。3、二者實(shí)際上都是利用mcu的mon08接口,沒(méi)有本質(zhì)的區(qū)別
----------------------------------------------
liu1234就是我,歡迎訪問(wèn)我的博客http://www.mcublog.com/blog.asp?NAME=liu1234
  

發(fā)貼時(shí)間: Jul 19 2005 5:04PM ||          


  


liu1234     
  
    

關(guān)于M68UICS08主板和m68eptqx連接問(wèn)題
1嚴(yán)格按照說(shuō)明書(shū)跳線
2串口線至少需要4芯兩個(gè)db9,2-2,3-3,4-4,5-5即可。
----------------------------------------------
liu1234就是我,歡迎訪問(wèn)我的博客http://www.mcublog.com/blog.asp?NAME=liu1234
  

發(fā)貼時(shí)間: Jul 19 2005 5:08PM ||          


  


angel007     
  
    

兩個(gè)板子就那么幾個(gè)跳線,跳來(lái)跳去,也不通啊。
有沒(méi)有可能MCU燒了?   

發(fā)貼時(shí)間: Jul 19 2005 5:23PM ||          


  


天涯倦客     
  
    

芯片為空是什么意思?是不是指芯片沒(méi)有被寫(xiě)過(guò).如果這樣的話,那豈不是一次性芯片.
我在DATASHEET上看到有兩種燒寫(xiě)程序的方式.一種是normal MONITOR mode另一種是forced MONITOR mode.normal MONITOR mode需要9v高壓,且需要幾個(gè)i/o口要固定點(diǎn)平.forced MONITOR mode相對(duì)簡(jiǎn)單.不需要高壓.但是有一個(gè)條件(If $FFFE and $FFFF contain $FF),這一點(diǎn)看不懂,是不是就是你們所說(shuō)的芯片為空?
另外覺(jué)得FREESCALE的mcu燒寫(xiě)實(shí)在是麻煩!
----------------------------------------------
立志做個(gè)專業(yè)的工程師
  

發(fā)貼時(shí)間: Jul 19 2005 5:56PM ||          


  


liu1234     
  
    

$FFFE and $FFFF 內(nèi)容為 $FF是空芯片?沒(méi)有用戶程序當(dāng)然是空芯片了。
----------------------------------------------
liu1234就是我,歡迎訪問(wèn)我的博客http://www.mcublog.com/blog.asp?NAME=liu1234
  

發(fā)貼時(shí)間: Jul 19 2005 6:12PM ||          


  


liu1234     
  
    

搞不懂你們?cè)趺磿?huì)連不通這塊板子還是比較好用的,照我說(shuō)的來(lái),通用板這邊j1接電源9v,j2標(biāo)準(zhǔn)dte到dce的標(biāo)準(zhǔn)串口線(一頭公DB9,一頭母DB9各芯線一一對(duì)應(yīng),不要交叉),波特率9600,j3,1-2,j4,CLOSE,j5,1-2,j6,1-2,j7,1-2,j8連到評(píng)估板的t8,j9,1-2,j10,2-3,j11,1-2,j12,2-3,j13,1-2
評(píng)估板這邊j1j2j3CLOSE,p2-p5,u1插qt4芯片靠底安裝,t7連通用板的T7,t3連通用板的t3,t1,3-4,5-6,7-8,9-10,11-12,13-14,15-16,1-右邊的單針1。
先運(yùn)行編程軟件看芯片能否燒寫(xiě),此時(shí)通用板兩個(gè)led都會(huì)亮
----------------------------------------------
liu12
63樓: >>參與討論
xuhuadong
mon08的仿真功能仿不了多斷點(diǎn),太累了
我用過(guò)mcuez508的SR12仿真器,10000元的,很好用,就是很笨重,后來(lái)他們送了一個(gè)mon08,連最基本的鎖項(xiàng)環(huán)都仿不了,只能放一個(gè)斷點(diǎn)。


64樓: >>參與討論
mgf006
是不是比KEIL 好用呀。。
是不是比KEIL 好用呀。。我沒(méi)有用過(guò)呀。。
在那能找到教程?

65樓: >>參與討論
boy123
好,,我也來(lái)學(xué)學(xué)..
這里也有Motolora單片機(jī)討論專版.

加密是$FFF6~$FFFD共8個(gè)byte的內(nèi)容,可以從S19中設(shè)置,也可在P&E中設(shè)置。

用P&E  時(shí),Target MCU Security bytes 選項(xiàng)(目標(biāo) MCU安全碼) 要通過(guò)安全碼檢測(cè)就必須給出正確的安全碼,安全碼由處理器 FLASH存儲(chǔ)器的$FFF6到$FFFD八字節(jié)組成。編程軟件連續(xù)地記錄安全碼的改變,并把它們存儲(chǔ)到 SECURITY.INI文件中,用于安全碼檢測(cè)。用戶使用“User”文本對(duì)話框手動(dòng)設(shè)置安全碼,或者點(diǎn)擊“Load from S19”從相同的 s19文件中調(diào)用安全碼。忽略安全碼檢測(cè)失敗并進(jìn)入監(jiān)控模式(IGNORE security failure and enter MONITOR mode ):該選擇框使軟件能忽略安全碼檢測(cè)錯(cuò)誤,并進(jìn)入監(jiān)控模式(要保證波特率和通訊口設(shè)置正確,電源正確)。但不能進(jìn)入 FLASH存儲(chǔ)器。只能對(duì)整片 MCU的 FLASH進(jìn)行擦除后方可進(jìn)行編程燒錄和校驗(yàn)。

如果正確地進(jìn)入監(jiān)控模式,軟件讀取$FFF6到$FFFF的內(nèi)容,判定處理器是否通過(guò)了安全碼檢測(cè),檢測(cè)到的返回值是$AD,說(shuō)明存儲(chǔ)器是無(wú)效的或被加密。如果從$FFF6到$FFFF的所有字節(jié)讀的值均是$AD,說(shuō)明芯片被加密,標(biāo)志值是‘N’。如果 0到 5 的標(biāo)志值是‘Y’,標(biāo)志 6的值是‘N’,那么復(fù)位過(guò)程已經(jīng)正確進(jìn)行,僅安全碼檢測(cè)沒(méi)有通過(guò)。制定正確的安全碼,重試一次,或者忽略安全碼檢測(cè)。


66樓: >>參與討論
程序匠人
都是堆棧惹的禍!
上次的問(wèn)題解決了,原來(lái)是因?yàn)槎褩R绯鰧AM中的正常數(shù)據(jù)沖掉了.今天將堆棧的尺寸設(shè)置的大些,困擾多日的問(wèn)題就解決了.

一直以為code warrior會(huì)自動(dòng)分配堆?臻g,現(xiàn)在才知道高估它的智慧了.

67樓: >>參與討論
陳雙君
5646456

20.    關(guān)于MON08調(diào)試的頻率
由于強(qiáng)制通訊波特率為FBUS/256,因此總線頻率受到主機(jī)軟件允許的標(biāo)準(zhǔn)波特率的限制
當(dāng)晶振=9.8304MHZ時(shí),內(nèi)部總線=9.8304/4=2.4576MHZ.

這里會(huì)有一個(gè)問(wèn)題,即調(diào)試時(shí)的工作頻率和產(chǎn)品的實(shí)際工作頻率不一致

21.    關(guān)于全局變量
全局變量必須在main的初始化中進(jìn)行初值設(shè)置,
否則,系統(tǒng)不會(huì)為其分配固定地址.這會(huì)導(dǎo)致變量中的數(shù)據(jù)丟失.
這個(gè)問(wèn)題讓匠人吃了許多藥

22.    關(guān)于運(yùn)算中需要注意的問(wèn)題
當(dāng)不同長(zhǎng)度的變量進(jìn)行運(yùn)算勢(shì),要特別當(dāng)心,避免某些變量被”截肢”
//比如:
unsigned LONG aaa;
unsigned int bbb;
unsigned int ccc;
        bbb=1000    ;
        ccc=2000;
//下面的指令計(jì)算后,aaa并沒(méi)有如預(yù)期的變成20000000,而是變成了33920,原因是高位被裁減掉了
        aaa=bbb*ccc;
//改成下面的指令后,結(jié)果正確
        aaa=ccc;
        aaa=aaa*bbb;
        




68樓: >>參與討論
mcu2002
MC68HC908JL8加密設(shè)置問(wèn)題
如DATASHEET所說(shuō),$FFCF地址單元的FLBPR寄存器為加密設(shè)置寄存器,其燒寫(xiě)數(shù)值小于$70時(shí)全部FLASH存儲(chǔ)器內(nèi)容全部被加密,但是使用M68UICS08調(diào)試半仍然可以讀出FLASH存儲(chǔ)區(qū)的內(nèi)容,是不是我的設(shè)置方法有問(wèn)題,或者是別的加密方法,請(qǐng)指教,謝謝!

69樓: >>參與討論
qjy_dali
匠人指責(zé)code warrior分配堆棧是沒(méi)有道理的
  code warrior for MC68HC08會(huì)為應(yīng)用生成一個(gè)啟動(dòng)代碼,里面有堆棧大小設(shè)置。比如我的堆棧大小就是0x60,這可以自己改呀。很多設(shè)置都要小心

70樓: >>參與討論
xiexpeng
怎樣把程序?qū)懞谩?br> 
71樓: >>參與討論
crazybee
22.    關(guān)于運(yùn)算中需要注意的問(wèn)題
22.    關(guān)于運(yùn)算中需要注意的問(wèn)題
當(dāng)不同長(zhǎng)度的變量進(jìn)行運(yùn)算勢(shì),要特別當(dāng)心,避免某些變量被”截肢”
//比如:
unsigned LONG aaa;
unsigned int bbb;
unsigned int ccc;
        bbb=1000    ;
        ccc=2000;
//下面的指令計(jì)算后,aaa并沒(méi)有如預(yù)期的變成20000000,而是變成了33920,原因是高位被裁減掉了
        aaa=bbb*ccc;
//改成下面的指令后,結(jié)果正確
        aaa=ccc;
        aaa=aaa*bbb;

       aaa = (unsigned LONG)bbb*ccc;//效率會(huì)更高哦!
        


72樓: >>參與討論
程序匠人
多謝crazybee指點(diǎn),匠人又學(xué)了一招
 
73樓: >>參與討論
newcore
借問(wèn)
借匠人大哥的寶坻,請(qǐng)問(wèn)一下:Bin文件轉(zhuǎn)換成S19據(jù)說(shuō)可以用BinToS19這個(gè)工具,這個(gè)工具的指令格式是怎么樣的???
3KS a lot!!!


74樓: >>參與討論
mailbert
FLBPR不是加密設(shè)置寄存器!
FLBPR寄存器是FLASH寫(xiě)保護(hù)設(shè)置寄存器。因?yàn)閖l8可以in application program,就是程序可以自己寫(xiě)FLASH。為防使誤寫(xiě)入,可以設(shè)置FLBPR把FLASH全部或部分保護(hù)起來(lái)。這個(gè)寄存器與程序加密無(wú)關(guān)。

75樓: >>參與討論
阿西西里
用過(guò)MOTOROLA16位的,呵呵,還不錯(cuò)
就是調(diào)試(BDM)方式不太舒服!
比起DSP有些麻煩

76樓: >>參與討論
lang5312
學(xué)習(xí)keil51中
 
77樓: >>參與討論
namexxh

關(guān)于C語(yǔ)言寫(xiě)FLASH

請(qǐng)問(wèn)有哪位大俠用C語(yǔ)言寫(xiě)過(guò)MC68HC908GT16的內(nèi)部FLASH的嗎?怎么寫(xiě)?請(qǐng)賜教,先謝謝啦!

78樓: >>參與討論
混凝土

請(qǐng)問(wèn)大俠有沒(méi)有飛思卡爾芯片的教程

79樓: >>參與討論
光劍

我和67樓的仁兄遇到同樣的問(wèn)題,請(qǐng)其他高手指點(diǎn)一下!

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
電子工程師需要構(gòu)筑屬于自己的系統(tǒng)的知識(shí)框架
關(guān)于GSM的問(wèn)題
請(qǐng)問(wèn)誰(shuí)用過(guò)24C02?
usb數(shù)據(jù)采集卡一定用FPGA,CPLD,DSP嗎?
請(qǐng)教TPIC6B595
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號(hào)