推荐阅读最新更新时间:2024-03-16 15:41
stm32 串口发送数据第一字节丢失
使用stm32f10x调试串口通讯时,发现一个出错的现象,硬件复位重启之后,发送测试数据0x01 0x02 0x03 0x04..接收端收到的数据为:0x02 0x03 0x04,第一个数据丢失。 查阅stm32f10x参考手册,找到这样一句话: TC:发送完成 当包含有数据的一帧发送完成后,由硬件将该位置位。如果USART_CR1中的TCIE为1,则产生中断。由软件序列清除该位(先读USART_SR,然后写入USART_DR)。TC位也可以通过写入0来清除,只有在多缓存通讯中才推荐这种清除程序。 0:发送还未完成; 1:发送完成。 注意到这一句:由软件序列清除该位(先读USART_SR,然后写入USART_DR)。 也就
[单片机]
UCOSIII简介于移植
UCOSIII简介 UCOSIII是一个可裁剪,可固化,可剥夺的多任务系统。相比于前代产品其最大任务数目没有限制,优先级相同的任务数目没有限制且有无需调度的的发送机制。 UCOSIII文件 在移植UCOSIII之前我们需要准备两样东西:一个是UCOSIII的源码,一个是Micrium官方在STM32F1xx上移植好的工程文件。 在Micrium文件夹中有四个文件夹 1、EvaBoards文件夹 这个文件夹里面就是关于STM32F107的工程文件。其中的处app.c和stm32f10x_conf.h外的文件的八个文件使我们需要添加到工程文件当中的。 2、uC-CPU文件夹 这个文件夹里面是与CPU相关的代码,有下面几个文
[单片机]
我的STM32学习之路(1)---STM32概述(Cortex-M3)
一、STM32概述(Cortex-M3) STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M0,M0+,M3, M4和M7内核,笔者目前要用的型号为stm32f103,内核为cortex-m3,以后有时间再写stm32f407相关文档吧。 对于这款处理器,打算从以下方面介绍。 1.处理器结构 Cortex‐M3 是一个 32 位处理器内核。 内部的数据路径是 32 位的, 寄存器是 32 位的, 存储器接口也是 32 位的。 CM3 采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。 这样一来数据访问不再占用指令总线,从而提升了性能。 为实现这个
[单片机]
STM32学习记录——开发总流程
前期准备 建立标准库模板 步骤: 1、STM官网下载标准库(STM32F10x_StdPeriph_Lib_V3.5.0),解压打开之后 有用的就是Libraries文件夹和Project文件夹,复制相关文件,建立模板。 此文件夹就是工程模板,其中 CMSIS、STM32F10x_StdPeriph_Driver是复制官方Libraries文件夹下的 user中是Project文件夹的 lst放置listing文件 out放置输出文件,即相应的.hex文件 project放置工程文件。 2、新建工程 工程中文件的排版如图 开发流程 1、复制工程模板 2、在user下添加.c文件和.h
[单片机]
STM32硬件IIC与51模拟IIC通信
IIC介绍 IIC协议规定:SDA上传输的数据必须在SCL为高电平期间保持稳定,SDA上的数据只能在SCL为低电平期间变化。IIC期间在脉冲上升沿把数据放到SDA上,在脉冲下降沿从SAD上读取数据。这样的话,在SCL高电平期间,SDA上的数据是稳定的。在脉冲下降沿之后的保持时间以后,SDA上的数据可以变化,直到脉冲上升沿之前。 STM32与51 IIC通信实验 下面是在使用51模拟IIC作为主机、STM32硬件IIC作为从机时发生的一些问题: STM32地址不匹配: 1、STM32工作为从机接收器模式下时,STM32设置IIC地址为0x0A但是I2C_OAR1寄存器中的地址为0x05,所以51发送地
[单片机]
STM32输出PWM时,PWM1和PWM2的区别
首先,本人虽然初学STM32但极力反对一种误人子弟的观点:“对于STM32这样级别的MCU,有库函数就不用去看寄存器怎么操作的了!” 好了,言归正传,最近总看到很多朋友对于PWM这个实验有很多的疑惑,看到原子也在极力的回复也挺累的(体谅一下幸苦的原子大神,(*^__^*) ),所以我打算写这么一篇文字来阐述一下我个人对STM32的PWM的理解。 首先来说,你要使用PWM模式你得先选择用那个定时器来输出PWM吧!除了TIM6、TIM7这两个普通的定时器无法输出PWM外,其余的定时器都可以输出PWM,每个通用定时器可以输出4路PWM,高级定时器TIM1、TIM8每个可输出7路PWM,这里为了方便起见,我们选择与实验相同的TIM3的
[单片机]
STM32的JTAG引脚说明
STM32的PA3、PA4、PA13、PA14、PA15,是JTAG用的引脚 若要当作普通IO口使用,则需要配置 在管脚初始化中加入 GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE); 其中 GPIO_Remap_SWJ_NoJTRET 除JTRST外SWJ完全使能(JTAG+SWJ); GPIO_Remap_SWJ_JTAGDisable JTAG-DP失能+SW-DP使能; GPIO_Remap_SWJ_Disable SWJ完全失能(JTAG+SW-DP); 上电复位后IO端口被配置为浮空输出模式; JTAG引脚被置于输入上拉或下拉
[单片机]
发挥Cortex-M3极致性能的全新STM32 F-2系列(ST)
意法半导体(ST)宣布全新STM32 F-2微控制器产品系列正式上市,把Cortex-M3架构性能发挥到极致。
意法半导体全新的STM32 F-2先进微控制器产品系列整合意法半导体先进的90nm制程与创新的自适应实时存储器加速器(ART Accelerator™),成功发挥Cortex-M3架构的极致性能。当以120MHz速度从闪存执行代码时,STM32 F-2 微控制器的处理性能高达150 Dhrystone MIPS,这是Cortex-M3处理器在这个频率下的最高性能。CoreMark测试结果显示,当从闪存执行代码时,该系列产品的动态功耗为 188uA/MHz ,相当于在120MHz时消耗22.5mA电流。除内置现有Cor
[嵌入式]