你的硬件部分是不是无字库12864的屏,忙检测程序在哪?用030芯片都能驱动展示数据,建议你再优化下程序。 ...
是不带字库的LCD12864屏
没有Check Busy函数,直接用延时函数代替
void lcd_write_com(uint32_t data) //LCD12864写指令函数
{
//systick_delay_us(10);
Delay(0x60);
lcd_rs_clr();
__NOP();__NOP();__NOP();__NOP();__NOP();
lcd_data(data);
lcd_e_set();
__NOP();__NOP();__NOP();__NOP();__NOP();
lcd_e_clr();
__NOP();__NOP();__NOP();__NOP();__NOP();
}
void lcd_write_com(uint32_t data) //LCD12864写数据函数
{
//systick_delay_us(10);
Delay(0x60);
lcd_rs_clr();
__NOP();__NOP();__NOP();__NOP();__NOP();
lcd_data(data);
lcd_e_set();
__NOP();__NOP();__NOP();__NOP();__NOP();
lcd_e_clr();
__NOP();__NOP();__NOP();__NOP();__NOP();
} 我又重新测试了下,接收数据处理后,不送LCD12864屏,直接送到74HC595,驱动8个指示灯显示,更新速度也是要好几秒,迟缓,卡顿。难道说明STM32F103对输入引脚的检测速度不够快吗?之前用PIC16系列和AVR系列没出现过这种现象,实时显示数据很流畅的 qazplm3218 发表于 2019-4-13 08:46
没有Check Busy函数,直接用延时函数代替
void lcd_write_com(uint32_t data) //LC ...
10us估计不够吧? stm1024 发表于 2019-4-13 10:14
10us估计不够吧?
我把这个时间加长也是一样的现象。
我又重新测试了下,接收数据处理后,不送LCD12864屏,直接送到74HC595,驱动8个指示灯显示,更新速度也是要好几秒,迟缓,卡顿,程序里就只有数据处理程序和74HC595驱动 我觉得你可以做一个转发实验,这边接收,然后再转发出去。这样,然后抓个波形,测量下速度。 select326 发表于 2019-4-13 11:34
我觉得你可以做一个转发实验,这边接收,然后再转发出去。这样,然后抓个波形,测量下速度。 ...
如果我用串口转发出去,是抓串口的波形吗?我怀疑是芯片对输入IO引脚的检测速度跟不上,这样的话抓串口的波形,测速度有用吗?
应该是抓芯片对输入IO口的检测速度,这个该如何测量?? 主程序里只放数据接收、数据处理程序。通过500ms定时器,将接收的数据向串口发送数据。发送格式为:数据的百位、 数据十位、数据个位+FF
看截图,数据从0V-230V,将近10s的时间
时间算错了,是将近20秒的时间 楼主能把完整程序分享给大家吗?
页:
1
[2]