音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(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 欄目:單片機
gcc指針請教
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
可以參考一下
直接用
void put_s(uint8_t *ptr)
{
    while (*ptr)
    {
      Uasrt0_put_c(*ptr++);
    }
}
put_s(PSTR("請使用XMODEM協(xié)議傳輸BIN文件,最大14KB ");

3樓: >>參與討論
fujianhui
謝謝
問一下 PSTR這個實現(xiàn)的是什么功能。。

4樓: >>參與討論
fujianhui
謝謝!
我現(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
PSTR是函數(shù)體內(nèi)的PROGMEM格式
 
6樓: >>參與討論
slickedit
PSTR
PSTR是在FLASH里面定義數(shù)據(jù)空間的一種辦法,這樣可以減少對
SRAM的占用,你可以參考一下WinAVR下面的pgmspace.h中的定義就明白了。
如下:
# define PSTR(s) (__extension__({static CHAR __c[] PROGMEM = (s); &__c[0];}))

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
51中的結(jié)構(gòu)數(shù)組在AVR中昨水土不服啊?
討論低價格的設(shè)計方案(12~24路PWM)
為什么我的 h 頭文件 加不進去
mega16與pdiusbd12通信程序如何編寫
為你提供高質(zhì)量的除靜電設(shè)備,靜電除塵機,板面清潔機
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號