h1_key

当前位置:首页 >新闻资讯 > 技术文章>航顺芯片>老版本HK32F103串口USART出现数据错误原因
老版本HK32F103串口USART出现数据错误原因
2022-11-29 1091次

  


  老版本HK32F103系列芯片的串口通讯时,偶尔出现数据错误的原因具体有以下几点:

    1.串口通讯时因为可能存在累计误差偶尔造成数据错误。

    2.用户在配置串口波特率参数时因为HK有细微地方与ST不同。

    下面就以上原因,用户根据如下修改,可以使串口通讯正常工作。

    对于波特率累计误差,用户可以采用三种方式来解决

    1. 修改STOP bit位数,把stop bit设成0.5,但是我们芯片的发送stop bit宽度也会变成0.5。这种方法要注意的是:对方芯片有可能无法接受0.5 stop bit。

    2.把波特率设置稍微提高1%左右。比如对方发出115200bps,HK的芯片波特率需要设置为115200*1.01=116352bps(偏差小于1%)。

    3.建议HK芯片和对方发送数据时,都不要背靠背发送。

    关于上述第二种波特率参数配置,主要是用户需要较高的波特率时,导致波特率配置寄存器的整数部分为1,还存在小数部分的情况。这时HK芯片对小数部分会被忽略掉,导致USART输出的bit宽度不对。出现这种应用时,用户需要调整USART工作频率和波特率的关系,避免波特率配置寄存器的整数部分为1,还存在小数部分。


    应用串口(USART)还应注意以下2点

    1.串口USART RX IDLE中断问题

    用户串口通讯打开了RX IDLE中断后出现反复进入的原因是因为IDLE中断标志不能清除。


    ◆解决方法:

    Step1.关闭IDLE中断.

    Step2.在RXNE事件后:

    A.清除IDLE标志.

    B.然后使能IDLE中断.

    Step3.在IDLE中断触发后: 除能IDLE中断.

    2.串口USART使用DMA传输时, DMA通道关闭后DMA_CNDTRn值Reload的问题。


    ◆解决方法:

    这个与我们HK的DMA设置与ST略有不同,HK的DMA通道在关闭后,对应的DMA_CNDTRn的值会被重新加载为本次发送开始前用户配置的值(即已经发送的数据个数).如果客户在dma发送完成后关闭了对应的通道,然后读取其DMA_CNDTRn的值就会出现非零值.如果用户想要使用拼接方式发送数据(在一次数据未发完前追加新的数据发送)且前一次数据已发送完成的情况下就会出现错误的数据拼接。


    处理数据拼接的解决方案

    如果是单次数据发送模式,用户在DMA数据发送完成后不用关闭DMA通道,在追加新的数据发送时,先在未关闭DMA通道的情况下调用库函数读出DMA_CNDTRn寄存器的值,再关闭DMA通道,然后追加新的数据到缓存buffer(可能是用户在RAM中定义的一个数组),再启用DMA发送,这样来完成数据的拼接发送。

  • 航顺芯片HK32M060高速风筒BLDC MCU解决方案
  • 航顺芯片推出的HK32M060高速风筒BLDC MCU解决方案,具有航顺自研电机加速单元与实时采样效率,可提高电机的工作效率和控制精确度。同时,HK32M060系列产品相较于同类产品集成度更高,可极大精简板级器件,节省BOM成本。
    2023-12-27 189次
  • 消防栓装上航顺芯HK32L08x
  • 消防栓是重要的火灾控制设备,但在实际应用中,消防栓存在安装分散和管理复杂等问题,于是火灾现场供水压力不足、抢修停水等现象屡见不鲜,严重影响灭火工作,造成重大人身财产损失,影响城市消防安全。
    2023-10-30 254次
  • 13万转高速吹风机HK32F030C8T6解决方案
  • 航顺芯片作为国产32位MCU供应商,根据市场需求,推出了基于国产32位MCU HK32F030C8T6芯片的高速吹风机整体解决方案,以其高转速(高达13万转)、精准恒温、高性能低成本、高可靠性等优点,深受客户认可,已在多家知名品牌客户中量产出货。
    2023-06-19 474次
  • HK32F0301MxC 15KV脉冲点火抗干扰分析
  • HK32F0301MxC在厨房环境中,厨电脉冲点火高达一万五千伏,产生的干扰对MCU确实是一项硬核考验,厨电设备的开关、点火等操作会产生大量的电磁干扰,这些干扰可能会对MCU的正常工作造成影响,甚至导致系统故障或安全事故。
    2023-05-08 408次
  • 航顺芯片32位平替8位MCU神器HK32F0301M
  • 航顺芯片从2019年立项,2020年2月首次发布推出第一颗低于1元人民币的经济型32位MCU HK32F030M家族替代8位MCU以来,在高性能、高性价比的魅力下得到了广大客户的热烈追捧,应用场景与领域越来越广。
    2023-04-18 427次

    万联芯微信公众号

    元器件现货+BOM配单+PCBA制造平台
    关注公众号,优惠活动早知道!
    10s
    温馨提示:
    订单商品问题请移至我的售后服务提交售后申请,其他需投诉问题可移至我的投诉提交,我们将在第一时间给您答复
    返回顶部