找回密码
 注册
关于网站域名变更的通知
查看: 316|回复: 2
打印 上一主题 下一主题

程序运行中发现读取指令没有问题但提示信息经常发不出来是什么原因呢?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-10-18 15:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
问题代码如下:
+ n# v' Z3 \0 @8 y& c
5 d: v' A3 a" R! o#pragma push
1 M* Z- A6 V2 [0 M! I9 L9 P6 N#pragma O0
" R3 [6 `8 Z. t4 R9 @  Bvoid rd_real_time(rt_uint8_t addr)
5 W& W: e9 _5 A5 Z{% Q$ E) c& j, U! a% i6 |# p5 U
rt_base_t level0;
. B+ b6 b, q+ _8 q6 l- W$ i5 Y& o3 ?, plevel0 = rt_hw_interrupt_disable();//禁止中断
, X: V/ s% l; y  {( P; Q' d; Dsprintf(string,"通讯中...舍%u",addr+1);
  @6 V/ v* g- Q/ L, DLCD_string(0x1FC0);//在迪文屏上显示
! K; N: S4 {/ B! W* \rt_hw_interrupt_enable(level0);//禁止中断
$ |& e3 `; e5 @6 D. j8 q9 ~$ Nrt_thread_mdelay(50);//加个延时,防止看不见
+ }: A3 M: D! h( C$ x% Y: OCOMM_OK[addr]=2;2 u0 v. a- W, s/ u2 C2 ^
addr++;
7 F6 _3 X# b* e" Q( h5 \COMM_addr3=addr;
. h3 Y& g5 I4 ~2 a5 r// rt_kprintf("real time addr = %d\n",COMM_addr3);3 a* Q5 D, Y& K- C" a8 Q) u
USART3_TX_BUF[0]=COMM_addr3;* n0 v* e" @9 i! {8 q9 \
USART3_TX_BUF[1]=0x03;" ?* O, Z3 b9 _2 o* |) [+ _
USART3_TX_BUF[2]=0x08;
) z, C* q0 w9 v' t1 n& BUSART3_TX_BUF[3]=0x00;7 t2 u" Q0 f" a4 `' v# [" }: O
USART3_TX_BUF[4]=0x00;# M# X6 y6 d' o7 u. {( d" k
USART3_TX_BUF[5]=0x50;
( J8 R+ Z4 `; ^0 crt_uint16_t n=6;, |7 t+ R' m4 l
rt_uint16_t crc=CRC16(n,USART3_TX_BUF);
: i! @9 G7 x) W. Y9 oUSART3_TX_BUF[n++]=(rt_uint8_t)(crc/256);$ ]# A7 c* \9 w" q  k7 {, u
USART3_TX_BUF[n++]=(rt_uint8_t)(crc%256);7 x8 I( S2 l" Y) ~# v, u. Q3 V
//发送读取指令
* a1 [- B0 q$ e* ^* krt_device_write(env_dev,0,USART3_TX_BUF,n);2 y: x$ `) l9 q1 E
}/ W, G1 f; R' I8 P! {
#pragma pop
) s. H3 T+ n9 \# q$ ^1 n/ ^0 O- A) v
; A* o4 J0 v- p2 `" K程序运行中发现,总能发送读取指令,没有问题,但是迪文屏的提示信息,经常发不出来,这是什么原因呢?我改了优化等级,加了关闭中断,还是一样。; Z- O. L% m* e. S, n4 Z$ F: j

该用户从未签到

2#
发表于 2022-10-18 16:29 | 只看该作者
你说的是 LCD_string(0x1FC0);这一句执行不了吗,下面的代码都能正常执行?
% `+ `) K$ j, S3 \% ^7 s% @. t可以单步看看,另外看是不是LCD_string()函数内部代码的问题呢。; g4 z# j7 P: h( K- e% u& |

该用户从未签到

3#
发表于 2022-10-18 16:47 | 只看该作者
mcu平台有没有mpu功能,如果有的话,并且打开了dcache,屏幕数据放在对应的内存,则可能会有缓存一致性问题,导致屏幕数据不更新。+ H$ Q, U) T5 {" S$ }* u2 Z& n+ E
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 20:55 , Processed in 0.156250 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表