问题描述:
1.在工程DA1458X_DSPS_V_5.150.2中,每隔1S通过UART2打印数量0-21,结果手机,将将数码仪为0-20,可以打印。
请问是什么地方干扰了uart2的操作品????????????????????
p.s active_1s()跳数在官方演示外设工程UART2_ASYNC中是可以的。
void active_1s(void)
{
uint8_t i;
for(i = 0; i <21; i ++){
write_txbuf(i);
}
而(1){
做 {
//安排所有待处理的事件
schedule_hile_ble_on();
}
而((app_asynch_proc())));//授予控件到应用程序,尝试掉电
......
active_1s();
......
}
关键词:
设备:
不到你的write_txbuf函数,我的里面用来了个数来自你的write_txbuf。
并且把
active_1s();//放在udermog这个位置之前
如果(USE_WDOG)
wdg_reload(watchdog_default_period);
我就是很好的。
void UART_SEND_BYTE(CHAR CH)
{
虽然((getword16(Uart2_lsr_reg)&0x20)== 0);//读取状态reg以检查thr是否为空
setword16(UART2_RBR_THR_DLL_REG,(0xFF&CH));//写入thr寄存器
}
write_txbuf次数是参考官方向演示的外观传播来的。我想成了你说谎
void write_txbuf(uint8_t txbuf)
{
//将字符写入UART2,然后同步等待完成。
tx_in_progress = 1;
UART2_WRITE(&txbuf,1,UART_WRITE_CB);
而(tx_in_progress)
;
}
回调函数将销量清零。
UART_WRITE_CB()
{
tx_in_progress = 0;
}
我要按照你的发数数码,是可口行走的,请教下,我是用力的官方向演示程序的方程的方向,引起死机的原因?
因为原先的大声分数会使用到uart2_thr_empty_isr。在里奇会上用UART2_TXFIFO_FURL_GETF来检查FIFO是满否满,如果如果满,直接直接不放进FIFO了。
也就调用不依叫回调数量将标记清0.所以如果fifo里数码移走的小于你偏执的速度,就会一般来说。