你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

问一个比较基础的串口接收方面硬件的知识

[复制链接]
beary 提问时间:2015-12-3 16:01 /
小弟从软件出身,很多硬件知识还在补,数电模电基本不动,毕业后才开始学,不过现在需要了解一个事情,希望大家可以慷慨解囊,小弟在此感谢。

有一个串口中断程序如下:
void USART1_IRQHandler(void)
{
        
  if (USART_GetITStatus(USART1, USART_IT_RXNE) == SET)
  {

    RxChar = USART_ReceiveData(USART1);
        }
}



看硬件图有一个移位器,满了8个就接收过来,如果我这样改一下
void USART1_IRQHandler(void)
{
while()//这里的判断是某个判断标志,比如10ms,5ms或者一段时间才可以过去,那么是不是会因为串口移位器的波形走过而丢包
{}
  if (USART_GetITStatus(USART1, USART_IT_RXNE) == SET)
  {

    RxChar = USART_ReceiveData(USART1);
        }
}





表达的不太好,如果各位觉得我哪里表达不太好,请批评一下,我一定改正。


我现在有一个串口接收的程序,接收到六七百个的时候串口就死了,不知道死在哪儿。
收藏 1 评论3 发布时间:2015-12-3 16:01

举报

3个回答
chifen 回答时间:2015-12-3 19:18:01
这里是中断处理,就是8位全收到了,内容都分析出来了,这里给出一个中断位,提醒你要处理,STM32好像有16个字符的缓冲,可以做到最多16个字符后中断 一次
超級稻草人 回答时间:2015-12-3 19:39:32
学习了。。。
yklstudent-1794 回答时间:2015-12-3 20:57:16
难道楼主想靠软件判断进行位接收?那楼主最好别有硬件USART,IO口软件模拟最好了

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版