|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
gcc指針請教 |
| 作者:fujianhui 欄目:單片機 |
void put_s(unsigned CHAR *ptr) { while ( pgm_read_byte( ptr ) ) { put_c( pgm_read_byte( ptr++ ) ); } put_c(0x0D); put_c(0x0A); //結(jié)尾發(fā)送回車換行 } put_s("請使用XMODEM協(xié)議傳輸BIN文件,最大14KB "); 這樣行嗎? 我是用GCC的。 我試了好象不行。不知道哪里出錯了。 const prog_uCHAR mse_one[]="這是個AVR ATMEGA16通過串口升級用戶程序(IAP應用)的范例程序 "; put_s(mse_one ); 這樣就可以的 |
| 2樓: | >>參與討論 |
| 作者: markertang 于 2006/4/7 8:35:00 發(fā)布:
可以參考一下 直接用 void put_s(uint8_t *ptr) { while (*ptr) { Uasrt0_put_c(*ptr++); } } put_s(PSTR("請使用XMODEM協(xié)議傳輸BIN文件,最大14KB "); |
|
| 3樓: | >>參與討論 |
| 作者: fujianhui 于 2006/4/7 19:27:00 發(fā)布:
謝謝 問一下 PSTR這個實現(xiàn)的是什么功能。。 |
|
| 4樓: | >>參與討論 |
| 作者: fujianhui 于 2006/4/7 20:44:00 發(fā)布:
謝謝! 我現(xiàn)在直接用 void put_s(uint8_t *ptr) { while (*ptr) 這樣好像不行的。要調(diào)用pgm_read_byte { Uasrt0_put_c(*ptr++); } } put_s(PSTR("請使用XMODEM協(xié)議傳輸BIN文件,最大14KB "); 可以了。。 |
|
| 5樓: | >>參與討論 |
| 作者: cgha 于 2006/4/7 21:39:00 發(fā)布:
PSTR是函數(shù)體內(nèi)的PROGMEM格式 |
|
| 6樓: | >>參與討論 |
| 作者: slickedit 于 2006/4/7 22:36:00 發(fā)布:
PSTR PSTR是在FLASH里面定義數(shù)據(jù)空間的一種辦法,這樣可以減少對 SRAM的占用,你可以參考一下WinAVR下面的pgmspace.h中的定義就明白了。 如下: # define PSTR(s) (__extension__({static CHAR __c[] PROGMEM = (s); &__c[0];})) |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |