历史上的今天
今天是:2024年09月16日(星期一)
2019年09月16日 | STM8 串口接收字符串问题
2019-09-16 来源:eefocus
此处附上接收中断源码
#ifdef _RAISONANCE_
void USART_RX_IRQHandler(void) interrupt 28
#endif
uint8_t cnt_USART ;
#ifdef _IAR_SYSTEMS_
#pragma vector=30
__interrupt void USART_RX_IRQHandler(void)
#endif
{
/* In order to detect unexpected events during development,
it is recommended to set a breakpoint on the following instruction.
*/
USART_ClearITPendingBit ();//清中断标志
if(!USART_GetFlagStatus (USART_FLAG_RXNE))//等待接收完毕
{
p_rxbuf[cnt_USART++] = USART_ReceiveData8(); //接收数据
if(cnt_USART == 0x0B)
cnt_USART = 0xFF ;
}
// USART_RendCmd(p_rxbuf); //接收11bytes串口指令
}
cnt_USART 为全局变量,因为每次接收每次只是接收1byte,因此,在主程序应该进行适当的延时来等待缓冲区的数据被读取。
while(cnt_USART!=0xFF)
{
if(mark_1ms >100)
break;
}
在函数进行适当的延时进行等待,mark_1ms 此处是使用TIM2进行延时,也可以在主函数中进行空函数延时。
上一篇:SPI总线详解笔记
下一篇:解决stm8会卡在串口中断的问题
史海拾趣
|
用最新库玩转智林STM32开发板(之七)------让开发板发出SOUND 听说库又升级了哈,我的版本以是最新版,所以题目没改,我觉得ST这么升级下去对编程者没太大好处,大家都象智林老大,不用库算了. 唉,还得言归正传 智林板的喇叭接的是第TIM3的第3道,所以得编相应的程序. #include // STM32F10x Librar ...… 查看全部问答> |
|
平台:s3c2440 + wince5 按标准的流驱动模型,编写了一个UART的测试驱动Dll,开发板UART与PC串口相连 //因无法上网只能写个大概了,程序大致如下 #define UART_BASE 0xB1004000 #define INT_BASE 0xB0A00000 #define IOP_BASE &n ...… 查看全部问答> |
|
RS232转485,485再转回232问题。急!!!高手进!在线等待 我们现在做考勤系统,软件已经完成。硬件用rs232读卡器读取卡信息,通过串口传入计算机。现在把读卡器直接连到计算机的串口能够读取到卡信息,但是,由于我们的计算机与读卡器的距离比较远,大于有效距离15米,大概有几百米,所以我们将计算机的串 ...… 查看全部问答> |
|
参加研讨会,免费获取Zigbee开发套件(ADK-DK)及礼品一套!!! http://www.mxchip.com/guanyuwomen/gongsixinwen/20110302/389.html… 查看全部问答> |
|
有个程序,实在看不懂,哪位帮忙看下,帮我详细解释解释 \'( 故障代码: E0:燃气泄露 E1:风机 E2:点火器 E3:小火电磁阀(v1) E4:大火电磁阀(v2) E5:残火 E6:燃气超压 E7:意外熄火( ...… 查看全部问答> |
|
驱动都已经安装完成,程序也可以正常编译,但是下载时总是出现下面的错误?该怎么解决呢?谢谢 [Direct Error Cause] No response from the CPU. Please confirm the signal of the CLOCK or RESET,WAIT and so on.(E1200416… 查看全部问答> |




