|
我在一塊CAN開發板上移植了鴻哥程序模塊中的按鍵和數碼管顯示代碼。奇怪的現象來了: 原來單片機開發板程序 顯示的數字相同, 改了之后,顯示收的數字比發大了1。
一步步的替換也試過,按鍵部分替換后正常,就是替換到數碼管部分,按一下后,發的數字還是0 ,收的數字就成了1.
(原先是:按一下后,發的數字是1,收的數字也是1.)
如下圖
///////////////////////日期:2024年1月30日 ////////////////////////////
更新下帖子
感覺,這個差的1
來自于
數碼管顯示程序里,某個變量
我今天更新成按鍵中斷觸發計數后也一樣。
理論上,數碼管1,2顯示的是我要給他發過去的數據; 數碼管 3,4顯示的SJA1000,自己收到后的數據。
那么,我按一下后,計數加一,送數碼管1,2顯示,并且發送。 但是同步的,SJA1000 也在同步接收,發過來的數據。
那我按第一下,這個時候,SJA1000,接收到的是沒按之前的一個空數據,?
所以,顯示差1好像也正常
但是,為啥,其他顯示程序可以 同步顯示1呢? 因為沒設置中間變量? 所以,編譯器自動替換了一些內容?
做個筆記,等待后期思考,先接著往下搞
|
-
1.png
(503.03 KB, 下載次數: 60)
下載附件
2024-1-17 14:15 上傳
原先的效果-按一下
-
2.png
(742.97 KB, 下載次數: 60)
下載附件
2024-1-17 14:16 上傳
原先的效果-按2下
-
3.png
(572.81 KB, 下載次數: 57)
下載附件
2024-1-17 14:16 上傳
修改后效果-按一下
-
4.png
(389.09 KB, 下載次數: 61)
下載附件
2024-1-17 14:16 上傳
修改后效果-按2下
-
-
STC89C_SJA1000_TJA1050.7z
2024-11-23 19:35 上傳
點擊文件名下載附件
31.24 KB, 下載次數: 4
2個源程序
|