找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1334|回復: 2
收起左側

單片機CAN程序移植按鍵和數(shù)碼管代碼后,數(shù)碼管顯示不同步疑問

[復制鏈接]
ID:53813 發(fā)表于 2024-1-17 14:16 | 顯示全部樓層 |閱讀模式
我在一塊CAN開發(fā)板上移植了鴻哥程序模塊中的按鍵和數(shù)碼管顯示代碼。奇怪的現(xiàn)象來了: 原來單片機開發(fā)板程序 顯示的數(shù)字相同, 改了之后,顯示收的數(shù)字比發(fā)大了1。
一步步的替換也試過,按鍵部分替換后正常,就是替換到數(shù)碼管部分,按一下后,發(fā)的數(shù)字還是0 ,收的數(shù)字就成了1.
(原先是:按一下后,發(fā)的數(shù)字是1,收的數(shù)字也是1.)

如下圖
///////////////////////日期:2024年1月30日 ////////////////////////////
更新下帖子
感覺,這個差的1
來自于
數(shù)碼管顯示程序里,某個變量

我今天更新成按鍵中斷觸發(fā)計數(shù)后也一樣。

理論上,數(shù)碼管1,2顯示的是我要給他發(fā)過去的數(shù)據(jù); 數(shù)碼管 3,4顯示的SJA1000,自己收到后的數(shù)據(jù)。
那么,我按一下后,計數(shù)加一,送數(shù)碼管1,2顯示,并且發(fā)送。 但是同步的,SJA1000 也在同步接收,發(fā)過來的數(shù)據(jù)。
那我按第一下,這個時候,SJA1000,接收到的是沒按之前的一個空數(shù)據(jù),?
所以,顯示差1好像也正常

但是,為啥,其他顯示程序可以 同步顯示1呢?  因為沒設置中間變量? 所以,編譯器自動替換了一些內(nèi)容?

做個筆記,等待后期思考,先接著往下搞


原先的效果-按一下

原先的效果-按一下

原先的效果-按2下

原先的效果-按2下

修改后效果-按一下

修改后效果-按一下

修改后效果-按2下

修改后效果-按2下

STC89C_SJA1000_TJA1050.7z

31.24 KB, 下載次數(shù): 4

2個源程序

回復

使用道具 舉報

ID:883242 發(fā)表于 2024-1-17 16:12 | 顯示全部樓層
你發(fā)給誰了?你又是接受誰的消息?
回復

使用道具 舉報

ID:53813 發(fā)表于 2024-1-17 21:58 | 顯示全部樓層
發(fā)表于 2024-1-17 16:12
你發(fā)給誰了?你又是接受誰的消息?

自收發(fā),就是自己發(fā)送,自己內(nèi)部就接收了。

自收發(fā)說明

自收發(fā)說明
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表