【经验】如何解决芯海2.05版本pack包自带USART例程USART_Interrupt中的小BUG?

2023-07-20 世强
32位MCU,CS32F031K8U6H,芯海 32位MCU,CS32F031K8U6H,芯海 32位MCU,CS32F031K8U6H,芯海 32位MCU,CS32F031K8U6H,芯海

芯海32位MCU CS32F031K8U6H有5个USART可以使用,而USART也是研发日常设计中要经常使用到的资源, USART属于低速串行总线,在收发过程中所占用的时间比较长,所以设计过程中经常使用中断接收发送或者DMA传输等方式,以减少控制器在收发过程中所占用的等待时间。芯海2.05版本的PACK中就提供了USART_Interrupt这么一个使用中断发送和接收的例程,但是官方提供的这个例程是有BUG的,下面我们一起来看下,再一起分析讨论下解决的方案。


我们先看下官方例程中的串口中断函数的实现,如下图所示:


我们来看下__USART_FLAG_STATUS_GET的实现:

其实可以看出来只是返回了STS寄存器对应的状态位是否被置位,而if (__USART_FLAG_STATUS_GET(USART1, TXE) == SET)本身只是判断了在进入中断后TXE是否被置位,如果置位就进入发送一个数据的流程。而如下图所示,TXE标志只要是在没有发送数据的情况下都是会被置位的。本身程序设计的想法是,只要不打开发送中断的使能位,即使TXE置位也没有关系,因为不会进入中断处理函数。当然这只是想法,实际上芯海CS32F031K8U6H对于USART的发送、接收、错误都是同一个中断入口。所以试想一下,当USART1明明没有请求发送数据,但接收到一个数据,或者发生一个OVR错误等都会进入这个中断,这个时候,if (__USART_FLAG_STATUS_GET(USART1, TXE) == SET)本身也是成立的,所以就错误的进入了发送数据的流程。


说完了问题,那么我们来看看该如何解决呢,首先我们还是要看芯海BSP中提供的另外一个函数,如下图所示:


__USART_INTR_STATUS_GET这个函数其实就是在__USART_FLAG_STATUS_GET的基础上还检查了这个对应标记的中断是否被使能,所以将例程中替换成使用if (__USART_INTR_STATUS_GET (USART1, TXE) == SET)来判断,即使进入了中断处理函数且TXE标记置位,还需要发送中断被使能才会触发USART的发送流程。

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由土肥圆提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

平台合作

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】国产32位MCU AT32F407在Keil中进行软件仿真和逻辑分析的方法

国产雅特力32位MCU AT32F407是基于Cortex-M4内核的32位MCU,在对其进行开发时经常会进行在线仿真测试,在线仿真测试分硬件仿真和软件仿真。本文介绍AT32F407在Keil中进行软件仿真和逻辑分析的方法。

2021-06-21 -  设计经验 代理服务 技术支持 采购服务

【经验】国产32位MCU N32G457VEL7替换STM32F407VET6的硬件设计注意事项

国民技术推出的32位MCU N32G457VEL7采用32-bit ARM Cortex-M4内核,广泛应用于网络打印,工业控制等领域,在货源紧张时完全可以替换STM32F407VET6,但封装引脚定义上还是有些许差异,需要注意。

2021-06-24 -  设计经验 代理服务 技术支持 采购服务

【经验】实战芯海CS32F031C8T6 MCU使用GCC编译器的startup.s启动文件

本文将以芯海推出的32位MCU CS32F031C8T6为例,给大家分享一个startup.s文件,希望帮助有需要使用GCC开发芯海CS32F031C8T6产品的各位小伙伴。

2023-02-14 -  设计经验 代理服务 技术支持 采购服务

海信旗下“隐形冠军”信芯微,授权世强硬创代理32位MCU等产品

信芯微32位MCU及蓝牙芯片主要应用于智能家电、工业控制、消费电子等领域。

2024-01-02 -  签约新闻

灵动微电子扎根张江造“芯”,打造本土32位MCU知名品牌

灵动微电子成立于2011年,2016年进军MCU市场,2019年积极向工业、大家电、汽车等领域发力,目前已涵盖消费电子、电机与电源、家电、汽车、计算机与通信、工业控制等应用领域,客户群体包括飞利浦、小米、汇川、海尔、海信、美的等,是中国本土领先的通用32位MCU 产品及解决方案供应商。

2024-09-19 -  原厂动态 代理服务 技术支持 采购服务

芯科科技的8位和32位MCU助力开发极致省电并符合未来趋势应用的无线设备

微控制器(MCU)是物联网的核心,开发人员如何面向其应用需求选择最合适的设备,将是在产品开发过程中的一个重大决策。但是,您如何知道哪款处理器合适呢?本篇物联网MCU选型指南深入介绍Silicon Labs(芯科科技)的8位和32位MCU产品家族,助您顺利完成决策过程。

2025-02-20 -  器件选型 代理服务 技术支持 采购服务

芯海32位MCU选型表

芯海32位MCU选型表包括常规32位MCU、32位低功耗MCU、32位车规MCU。该选型表的Core包括M0和M3两种,内含型号是芯海科技基于Arm® Cortex®-M内核、高可靠性的32位通用微控制器。 包括多款产品,内嵌Flash存储器,集成高性能ADC、丰富的模拟外设、适用于工业控制的高级定时器和通信接口,满足工业应用的质量和可靠性标准,被广泛用于工业控制、汽车电子、智能家居等领域。

产品型号
品类
Core
Freq.(MHz)
Flash(Bytes)
SRAM(Bytes)
IO
Adv.Timer
16bit GP Timer
SysTick
FWDT/WWDT
UART
SPI
I2C
12bit ADC Units(ch)
Temp.Sensor
Operating Temp.(℃)
Supply Voltage(V)
Package
CS32F030F6P6-RA
32位MCU
M0
48MHz
32KBytes
4KBytes
15
1
5
1
1/1
4
1
1
1(9)
Y
-40℃~85℃
2.0V~5.5V
TSSOP20

选型表  -  芯海 立即选型

【经验】航顺32位MCU HK32F030M FLASH擦写操作非法操作解决方案

​HK32F030M是航顺一款入门级经济型32位MCU,使用ARM® Cortex®-M0内核,最高工作频率32MHz。本文将介绍HK32F030M FLASH擦写操作非法操作解决方案。

2023-03-25 -  设计经验 代理服务 技术支持 采购服务

华芯微特SWM241系列32位MCU,工作频率最高48MHz,供电电压范围2.5V至5.5V

华芯微特SWM241系列32位MCU内嵌ARM® Cortex®-M0内核,凭借其出色的性能以及高可靠性、代码密度大等突出特点,可应用于工业控制、电机控制、白色家电等多种领域。SWM241支持片上包含精度为1%以内的48MHz时钟,最高支持48MHz时钟输出。同时提供最大为128K字节的FLASH和最大8K字节的SRAM。此外,芯片支持ISP操作及IAP,用户可自定义BOOT程序。

2023-12-02 -  产品 代理服务 技术支持 采购服务

【应用】国产32位MCU AT32F403ARCT7用于智能止鼾枕,最高主频240MHz

智能止鼾枕是一种非穿戴式的智能止鼾设备,内置气囊,声音、压力传感器。本文推荐采用国产雅特力推出的32位MCU AT32F403ARCT7为主控, 最高主频240MHz,Flash 256k,工作温度范围-40~+105℃。

2022-09-06 -  应用方案 代理服务 技术支持 采购服务

【应用】芯海科技32位MCU CS32L010F8U6用于美眼仪,最高主频24MHz

根据美眼仪的应用需求,本文推荐采用国产芯海科技推出的32位MCU CS32L010F8U6为主控。该MCU最高主频24MHz,工作温度范围-40~+85℃,2.5~5.5V的工作电压,也被广泛应用于控制器,手持设备,GPS平台,PC外设等。

2022-09-09 -  应用方案 代理服务 技术支持 采购服务

【IC】芯海科技推出超低功耗32位MCU CS32L015,内嵌Flash存储器,最高主频可达24MHz

芯海科技CS32L015作为一款通用型超低功耗的高性价比32位MCU,内嵌Flash存储器,集成高性能ADC、丰富的外设和通信接口,最高主频可达24MHz,具有高整合度、高抗干扰、高可靠性的特点,被广泛用于消费类电子、智能家居等领域。

2023-10-14 -  产品 代理服务 技术支持 采购服务

CS32G051 32 位 Type-C&PD 控制器

CS32G051是一款32位微处理器,适用于工业控制和高性能、低功耗应用。该芯片具备32MHz工作频率,内嵌256K字节程序Flash和12K字节SRAM,支持多种外设,包括I/O口、定时器、UART、I2C、ADC等。此外,CS32G051还支持In-System Programming (ISP) & In-Circuit Programming (ICP)功能,并提供多种工作模式以满足不同低功耗需求。

芯海  -  32 位 TYPE-C&PD 控制器,32位MCU,微控制器,控制器,CONTROLLER,CS32G051 系列,CS32G051KCU6,CS32G050KCU6,CS32G020XX,CS32G051,工业控制

2021-03-05  - 数据手册  - REV1.0 代理服务 技术支持 采购服务

【经验】芯海科技32位MCU CS32L010的代码占用Flash空间的优化方法

对于MCU来说,大容量的Flash往往就意味着更高的价格,这就要求软件工程师要尽可能的降低编译后的程序占用的空间大小。本文主要介绍一种芯海科技32位MCU CS32L010的代码占用Flash空间的优化方法。

2021-12-15 -  设计经验 代理服务 技术支持 采购服务

航顺芯片32位MCU标准与意法半导体STM32型号对照表

描述- 航顺芯片自主设计32位MCU,与意法半导体STM32实现软硬件兼容,为客户提供为方便选型设计,目前航顺已成功替代并与各大行业客户合作,已量产M0,M3,M4内核系列MCU。

型号- STM8S003,HK32F031K4T6,HK32F031K6T6,HK32F030MF4P6,STM32F030F4P6,HK32F031C4T6,HK32F103RET6,HK32F031C6T6,HK32F030MJ4M6,HK32F030K6T6,HK32F103VET6,STM32F103RET6,STM32F031F4P6,STM32F103RCT6,HK32F031K4U6,STM32F031G6U6,HK32W030KEU6,HK32F031K6U6,STM32F031G4U6,HK32W030CEU6,HK32F030MF4U6,STM32F031F6P6,HK32F031F4P6,HK32F030R8T6,HK32F031G6U6,HK32F031G4U6,STM32F103VCT6,STM32F103VET6,HK32F030F4P6,STM32F031C4T6,HK32F030MD4P6,STM32F030K6T6,STM32F031K6T6,STM32F103V8T6,STM32F031C6T6,HK32F031F6P6,NRF52832-QFAA-R,HK32F103CBT6A,STM32F103CBT6,HK32F103RBT6,STM32F031K4U6,STM32F031K6U6,STM32F103C8T6,HK32F030C8T6,HK32F103CBT6,STM32F103RDT6,STM32F030R8T6,STM32F103R8T6,STM32F103VBT6,STM32F031K4T6,HK32F103C8T6,STM32F103VDT6,STM32103RBT6,STM32F030C8T6

对照表  -  航顺芯片

展开更多

电子商城

查看更多

品牌:芯海

品类:32位MCU

价格:¥4.4000

现货: 2

品牌:芯海

品类:32位MCU

价格:¥2.6934

现货: 8,928

品牌:芯海

品类:32位MCU

价格:¥4.1177

现货: 8,184

品牌:芯海

品类:32位MCU

价格:¥3.1765

现货: 4,900

品牌:芯海

品类:32位MCU

价格:¥5.0667

现货: 4,039

品牌:芯海

品类:32位MCU

价格:¥3.5295

现货: 2,440

品牌:芯海

品类:32位MCU

价格:¥5.0667

现货: 458

品牌:芯海

品类:32位MCU

价格:¥1.4236

现货: 298

品牌:芯海

品类:32位MCU

价格:¥0.9706

现货: 260

品牌:芯海

品类:32位MCU

价格:¥0.2942

现货: 200

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:MindMotion

品类:32位MCU

价格:¥5.9400

现货:19,996

品牌:兆易创新

品类:MCU

价格:¥7.0000

现货:16,740

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥17.0580

现货:15,887

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥61.8336

现货:10,400

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥69.9064

现货:7,680

品牌:MindMotion

品类:32位MCU

价格:¥2.3800

现货:6,427

品牌:RENESAS

品类:32BIT MCU

价格:¥135.5187

现货:4,320

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥80.8990

现货:2,880

品牌:TI

品类:MCU

价格:¥124.3000

现货:2,872

品牌:RENESAS

品类:32-bit MCU

价格:¥28.8247

现货:2,279

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

TFT LCD液晶显示屏/模组定制

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。

最小起订量: 1000 提交需求>

IC烧录代工及IC自动化烧录

拥有IC烧录机20余款,100余台设备,可以烧录各种封装的IC;可烧录MCU、FLASH、EMMC、NAND FLASH、EPROM等各类型芯片,支持WIFI/BT模组PCBA烧录、测试。

最小起订量: 1 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面