意法半导体MCU是全球领先的半导体供应商,自成立以来已满足了市场上多元化的需求,提供了各行业领域范围半导体产品及解决方案.为了保持其技术优势,意法半导体坚定地致力于创新,约有7400人从事研发和产品设计工作,并在2018年将其收入的15%用于研发。STM32MCU被广泛应用在各种丰富的不同行业当中.为此本篇文章将介绍有关STM32底层配置的相关技术.
本文通过,介绍STM32主要的底层配置,通过关键步骤的程序源代码的介绍,阐述实现数据传输的细节以及注意事项。该方法对其他项目或芯片有一定的实现价值和参考价值,且简单可靠,具有普遍性和通用性。
1、STM32底层配置
为了实现STM32单片机与SIM900A模块之间的数据命令的传输,本文以串口为例,先搭建开发平台,在工程中加入相应的库函数以及配置文件,然后配置时钟以及串口相应的输入输出GPIO接口。在配置的同时,需要针对自身的原理图进行编写,才能保证配置正确无误。这样基本的开发平台就搭建起来了。
1.1、串口配置
在开发平台搭建起来之后,就可以对串口进行配置了。配置速率为115200b/s,字长为8bit,1bit停止位,串口模式为输入与输出模式,最后初始化相对应的串口。初始化串口之后,打开串口的中断响应函数,即USART_ITConfig(USART2,USART_IT_RXNE,ENABLE)(以串口2为例),然后使能相对应的串口,这样串口函数就基本配置完成了。需要注意一点,有些程序可能在传输的时候出现首位丢失。这个问题涉及到USART的机制。硬件复位之后,USART的状态位是置位的(置1,表示已经发送完毕),而此时数据可以进行正常发送。当一帧数据发送后,由硬件将该位置位。而清除TC位(置0)是由软件来完成的,通过先读USART_SR,再写USART_DR将该位清除。但是程序在发送第一帧数据的时候,并没有进行读USART_SR,而是直接进行写USART_DR,因此TC标志位还是置1,并没有清除。当发送第一帧数据之后,用USART_GetFlagStatus()检测状态返回的是已经发送完毕,程序就会马上发送下一帧数据,因此第一帧数据就会被第二帧数据覆盖了,这样就看不到首位数据。根据这种情况来说可以在每次传输之前或之后清除传输完成标志位,即USART_ClearFlag(USART2,USART_FLAG_TC)。
1.2、中断配置
配置完串口之后,将对NVIC进行配置。首次配置中断分组,然后选择串口的中断,即NVIC_InitStructure.NVIC_IRQChannel=USART2_IRQn(以所使用固件库的定义为主)。
再设置抢占式中断优先级和响应式中断优先级,然后使能中断和初始化。以上的配置必须结合自身的情况,设计出最优的中断分组和优先级,以保证程序响应中断的速度。中断后所做的内容在stm32f10x_it.c文件里配置。
MCU应用极其广泛,国内本土为了不再依附进口芯片而投身研发国内芯片。目前国内有着几家不错的厂商,已为市场提供上百种的MCU产品.例如灵动微电子,旗下产品MM32F系列可替换兼容STM32F系列.
关于上海灵动微电子
灵动微电子是国内专注于MCU产品与应用方案的领先供应商,自2011年3月成立至今,上海灵动微电子已经成功完成数百余个MCU产品的设计及推广,灵动微目前已批量供货的基于内核M0及Cortex-M3 内核的MCU产品包括:通用高性能市场的MM32F系列,超低功耗及安全应用的MM32L系列,具有多种无线连接功能的MM32W系列,电机及电源专用的MM32SPIN系列,以及OTP型的MM32P系列等,以满足客户及市场多领域、多层次的丰富应用场景需求。
本文关键词: 意法半导体MCU
相关文章:灵动微可替换意法半导体MCU
深圳市英尚微电子有限公司是一家专业的静态随机记忆体产品及方案提供商,十年来专业致力代理分销存储芯片IC, SRAM、MRAM、pSRAM、 FLASH芯片、SDRAM(DDR1/DDR2/DDR3)等,为客人提供性价比更高的产品及方案。
英尚微电子中国区指定的授权代理:VTI、NETSOL、JSC济州半导体(EMLSI)、Everspin 、IPSILOG、LYONTEK、ISSI、CYPRESS、ISOCOME、PARAGON、SINOCHIP、UNIIC; 著名半导体品牌的专业分销商 如:RAMTROM、ETRON、FUJITSU、LYONTEK、WILLSEMI。
更多资讯关注SRAMSUN. www.sramsun.com 0755-66658299