主要内容: 1) 串行通信接口背景知识; 2) STM32F1串口框图讲解; 3) STM32串口部分常用寄存器和库函数; 4) 串口配置一般方法; 5) ALIENTEK提供的公用代码usart.c和usart.h解读。官方资料:《STM32中文参考手册V10》第25章——通用同步异步收发器(USART)1. 处理器与外部设备通信的两种方式 1.1 并行通信,传输原理:数据各个位同时传输。优点:
先找到芯片的Reference manual手册,找到EEPROM的内存地址EERPOM定义#define EEPROM_BASE_ADDR 0x08080000 #define EEPROM_BYTE_SIZE 0x03FFvoid eeprom_test_write();void eeprom_test_read();这里使用的是一次写入4个字节//eeprom写测试void eepro
原创 2021-12-01 10:39:53
10000+阅读
串口的使用中我们常用的就是串口的中断收数据,发数据。但除了普通的收发stm32F0系列的串口增加了很多新的功能。如果巧妙的把这些功能用起来就可以达到事半功倍的效果。把能交给硬件处理的就交给硬件可以节约大量的MCU时间用来做其他事情。也能大大调串口通信的可靠性。    功能一:串口多机通信stm32串口是支持多机通信的,多机通信也很好理解,就是把多个从机的RX连接到主机的TX,多
转载 9月前
54阅读
stm32的flash地址起始于0x0800 0000,结束地址是0x0800 0000加上芯片实际的flash大小,不同的芯片flash大小不同。 RAM起始地址是0x2000 0000,结束地址是0x2000 0000加上芯片的RAM大小。不同的芯片RAM也不同。 Flash中的内容一般用来存储代码和一些定义为const的数据,断电不丢失, RAM可以
转载 2024-04-24 16:05:11
956阅读
在中断里,增加时钟配置,同时清除标志。
时钟频率是37KHz,如果分配设置成256,IWDG执行周期就是144.5Hz,value设置成4095,最大可以到28秒复位。看下时。
转载 2019-02-22 10:04:00
218阅读
2评论
可能会有朋友跟我刚使用这个芯片关于MSI校准的时候有过疑惑如何校准? 这里讲讲校准原理。   首先,必须说,校准是必须的。 在不校准的情况下0~25度时候精度是1%,超过这个温度精度偏差可能在+/- 3%以上。 校准后精度可以达到0.05%,这相当于delay 1000ms 的误差只有1000ms * 0.005。   校准准备: 1. 准备一个板子,焊接好32.768K LSE外部晶振 2. 准
原创 2018-11-22 18:00:23
4882阅读
2点赞
1评论
在做低功耗产品的时候读取芯片温度和当前电压是十分重要的一件事情。通过当前供电电压可以知晓电池电量是否低于水平值实现电池缺电报警。读取芯片温度也很重要,可以在使用内部振荡器的时候通过校准算法根据温度变化来实现实时校准芯片(另外文章有介绍)。如果不使用或尽量少使用外部元器件来实现这两个功能是摆在我们面前一个很重要的事情,遗憾的是现在网上的资料非常混乱,基本上直接使用总有点那么别扭。在这里hoowa告诉
原创 2018-12-05 13:48:45
10000+阅读
2点赞
本文内容:本文主要介绍STM32中的中断系统,并用中断进行点灯和串口通信。一、何为中断中断是当CPU在处理某一事件A时,发生了另一事件B,请求CPU迅速去处理,CPU暂停当前的工作,转去处理事件B,当CPU将事件B处理完毕后,再回到事件A中被暂停的地方继续处理事件A。 类比一下,可以想象成在做饭时突然来了一个电话,你去接电话停止做饭,打完电话后,回来接着做。二、NVIC介绍NVIC 是嵌套向量中断
转载 11月前
499阅读
最近在使用低功耗模式产品,比如STM32L051C8T6。 这款产品的低功耗设计非常优秀。比如STOP模式大家经常使用的,可以做到nA级别。 但是,如果只是STOP模式低功耗,运行模式高,电池寿命还是短。 首先介绍下STOP模式:a. 在这个模式下一定可以做到400nA的电流b. 如果做不到,请考虑是否将全部IO配置为模拟输入模式c. 是否外围挂有其他元器件。 运行模式功耗主要来自这几个地方:1.
原创 2018-11-22 17:47:17
10000+阅读
3点赞
这里写目录标题一、产品介绍二、产品说明三、硬件框图四、产品使用五、产品外观六、软硬件设计七、固件烧录STLINKDAPLINKJLINKCPLD八、固件升级、LicenseSTLINKJLINK 作者:化作尘&@风陵 一、产品介绍该产品是一款基于USB2.0接口支持多个公司及多种内核的仿真器/编程器,板载了USB HUB、CPLD芯片,集成了DAPLink V2 & STLink
/* 开启串口1中断 */ LL_USART_EnableIT_RXNE(LPUART1); /* 开启串口2中断 */ LL_USART_EnableIT_RXNE(USART2);
原创 2021-12-04 13:34:26
10000+阅读
任何处理器,读到Clock时钟部分,总是费劲的。系统时钟(system clock)SYSCLK可以来自四种时钟源:HSI(high-speed internal)内部振荡器时钟HSE(high-speed external)外部振荡器时钟PLL时钟MSI(multispeed internal)振荡器时钟  启动复位/从Stop或Standby状态唤醒之后默认将MSI作为时钟源。&nb
翻译 精选 2016-02-22 15:13:12
3301阅读
有三种Reset:System 复位,Power 复位,RTC域复位.System 复位System复位所有寄存器,但除了RTC,RTC backup寄存器和控制/状态寄存器RCC_CSR。system复位产生的情形有:1. NRST引脚拉低2. 看门狗计数结束(WWDG复位)3. 独立看门狗技术结束(IWDG复位)4. 软件复位(SW复位)5. 低功耗管理复位6. 选项字节加载复位7. 退出St
原创 2016-02-22 11:18:32
2893阅读
5.1.4 稳压器        一个嵌入式线性稳压器为所有数字电路提供电源,除了待机电路。稳压器输出电压(VCORE)可以软件编程为三种不同电压范围1.2-1.8V(典型)(参见5.1.5)。      重启后稳压器总是使能的。它工作于三种不同模式:main(MR),low power(LPR)和power down,这取决于
翻译 精选 2016-07-12 10:54:48
5465阅读
文章目录前言一、HAL库配置定时器1.CubeMx配置2.函数相互调用逻辑总结 前言基于定时器输出不同占空比的PWM波,再作为led灯的输入,关于不同占空比如何改变led灯的亮度,我自己想的是类似于高中物理讲的最大电压和有效电压的区别,有效电压是指在单位时间电流所做功的平均值,高电平保持时间越长,有效电压就越高。不过这样有点解释不通PWM频率的用处了,所以可能这样理解也有点小问题。一、HAL库配
转载 2024-04-26 22:13:42
55阅读
       近期收到了一块STM32G4系列的开发板,作为试用开发板,尝试使用G4做电源类项目,在使用G4系列开发板的时候,碰到了ADC工作不正常的情况,具体情况如下所示:       由于项目需要,主频限定在20Mhz,使用了板载24Mhz晶振,时钟树分布如下:图 1 时钟树
17.3.15 Timer同步 18.3.3 时钟选择 
翻译 精选 2016-02-23 13:48:35
939阅读
先看下STM32L053的RTC时钟,这里没有外部晶振用的是内部LSE,频率37KHz通过Cube配置RTC,启用日历和时钟,我
原创 2021-12-10 10:50:52
10000+阅读
  • 1
  • 2
  • 3
  • 4
  • 5