欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: keil c51平臺軟件版本V9.61 數(shù)據(jù)比較大小怪事 [打印本頁]

作者: jxcrgt35    時間: 2025-5-24 16:28
標題: keil c51平臺軟件版本V9.61 數(shù)據(jù)比較大小怪事
定義一個全局變量uint16_t sys_tick ,在定時器內(nèi)sys_tick ++,通過uint16 get_sys_tick(void){return sys_tick;}

在主循環(huán)程序:
uintdata = get_sys_ticks();
               
                while(1)
                {
                        uint16_t uintll = get_sys_ticks();
                        if((uintll - uintdata) >= 50u){uart0_dbg("\r\n[%u,%u]", uintdata, uintll); uintdata = uintll;}
                }

現(xiàn)在的現(xiàn)象為
隨機為獲取到了sys_tick出現(xiàn)回轉(zhuǎn),如上次為513,下次獲取的為324.
如果這樣處理就不會.
if((uint8_t)(uintll - uintdata) >= 50u){uart0_dbg("\r\n[%u,%u]", uintdata, uintll); uintdata = uintll;}
請教各位

作者: 紫電談?wù)?nbsp;   時間: 2025-5-25 11:37
324 - 513 = 324 + (65536 - 513) = 324 + 65023 = 65347 (uint16_t)
改成下面這種試試:
if ((uint8_t)(uintll - uintdata) >= 50u)

作者: jxcrgt35    時間: 2025-5-25 21:37
紫電談?wù)?發(fā)表于 2025-5-25 11:37
324 - 513 = 324 + (65536 - 513) = 324 + 65023 = 65347 (uint16_t)
改成下面這種試試:
if ((uint8_t)( ...

你計算的理解是對的.左右兩方等式判斷不存在問題.就是為什么會影響到uintll 的值(或sys_tick)




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1