/* Wait till HSE is ready and if Time out is reached exit */ do { HSEStatus = RCC->CR & RCC_CR_HSERDY; StartUpCounter++; } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));
硬件仿真的时候,串口中断会进入。但是发送一串字符串QWERT+回车 。 串口中断只会进入一次Res显示是第一个字符串的ASCII 后面的无效。所以在硬件仿真的情况下,USART_RX_STA无法置位0X80。 MAIN.C while 的循环串口接受完成判断标志就不起作用KK一直为0。
---------------------------------
如上描述
就是无法调试与仿真,用软件仿真的时候 卡在等待HSE就绪的位置那个
/* Wait till HSE is ready and if Time out is reached exit */
do
{
HSEStatus = RCC->CR & RCC_CR_HSERDY;
StartUpCounter++;
} while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));
硬件仿真的时候,串口中断会进入。但是发送一串字符串QWERT+回车 。
串口中断只会进入一次Res显示是第一个字符串的ASCII
后面的无效。所以在硬件仿真的情况下,USART_RX_STA无法置位0X80。
MAIN.C while 的循环串口接受完成判断标志就不起作用KK一直为0。
由于4.2的KEIL没有代码提示...编程速度慢,所以我已经升级为KEIL5.0。
调试会不会有可能和这个软件版本有关?
---------------------------------
原子哥。。。关于KK部分,我百度实在是查询不到。然后一行一行代码注释运行,看大概是那部分影响的。惊奇的发现IF(KK)这里面的delay_ms()不使用延时函数 LED能正常的控制了,但是这个DELAY是你的代码复制过来的啊.....
---------------------------------
这个实在不影响才对啊。
delay_init,你执行了吧?
---------------------------------
呜呜呜 原子哥说多了都是泪啊,原来弄arduino U3 做四轴的 串口不够转STM32 给奸商忽悠。。。没查资料!
现在用到不是你的板子,目前调试出来确实是由于你那个延时导致的。注释就不影响了。
到时候我自己在多去看看SysTick,看能不能找出问题在来汇报。
软件调试的问题,注释了那个DO while 就能进去了很奇怪。但是新建逻辑分析仪的时候 寄存器又不存在。。。各种蛋疼的事情发送。
硬件调试问题,希望你指跳路啊....串口应该如何调试?
是不是用到你的板子就不会有这些问题了?唉..你的迷你感觉都大哦。。。飞控 伤不起!你快推出些面向这些的板子吧。
一周热门 更多>