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

登錄 免費注冊 首頁 | 行業(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

請教一個 C 語言中預(yù)處理的問題,望高人指教!

作者:石湖天隨 欄目:單片機
請教一個 C 語言中預(yù)處理的問題,望高人指教!
我在做51單片機和PC的串口通訊時,寫了個通用的程序,TH1 是在頭文件中計算出來的,頭文件如下:

#include    <reg52.h>

typedef        unsigned CHAR     INT8U;
typedef        unsigned int      INT16U;

#define   UART_T1_WOKWAY 0x20       //串口工作時 T1 的工作方式設(shè)定
#define     FOSE           12000000   //系統(tǒng)所用的晶振頻率(20M)
#define     BAUD_SET           1200       //串口波特率的設(shè)定
#define     UART_SMOD      0x00       //SMOD 位的設(shè)定 0:0x00 1:0x80
#define   UART_WOKWAY    0x40       //串口的工作方式設(shè)定

#if UART_SMOD    ==    0

#define    UART_T1_VAL     (256-(FOSE/(BAUD_SET*32*12)))    
                                    //計算 TH1 的值 (SMOD = 0) 0xE6

#else

#define  UART_T1_VAL     (256-(FOSE*2/(BAUD_SET*32*12)))  
                                    //計算 TH1 的值 (SMOD = 1)

#endif

問題是:程序編譯后 UART_T1_VAL 的值并不是 0xE6 而是 0x1D ,這是怎么回事啊,這方面我了解的并不多,希望高人指點,感激不盡。!


2樓: >>參與討論
jinbos
估計是溢出了
 
3樓: >>參與討論
gossipxp
計算類型太復(fù)雜了
 
4樓: >>參與討論
magic1983
我知道了!不是預(yù)處理的問題,是整數(shù)運算時溢出了
改寫下面兩行就行啦,

#define     FOSE           12000000l   //系統(tǒng)所用的晶振頻率(20M)

#define     BAUD_SET           1200l       //串口波特率的設(shè)定

5樓: >>參與討論
石湖天隨
謝謝樓上各位,我改下看看!
 
6樓: >>參與討論
tyj_3
magic1983,說的是
 
7樓: >>參與討論
isoar
你需要在表達式里添加“(unsigned CHAR)”這樣的東西
下面是我的669用的波特率計算編譯預(yù)處理,你可以參考一下,不過這個波特率的算法和你用的不一樣:

#define    FOSC                20000000ul    //11059200ul
#define BAUD                19200
#define BRGR1_VAL            (unsigned CHAR)((FOSC/BAUD-16)/256)
#define BRGR0_VAL            (unsigned CHAR)((FOSC/BAUD-16)%256)

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
求助,我如何才能獲知485設(shè)備的地址?
串口七日之創(chuàng)世紀篇
為什么逐次AD轉(zhuǎn)換位數(shù)越多精度越高?
keil7.50a完整版
keil中,如何使變量復(fù)位不清零?謝謝!!!
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號