![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32
tao_sc
拒绝熊猫眼
展开
-
10.STM32使用EEPROM记录开机次数
MEM_Read(pucBuf,0x04,2);随便找两个字节存储,这里选择0x04开始 if(pucBuf[0]==0x25)//第一字节作为密码,刚烧录程序时,里面肯定没有数据,或者是垃圾数 { Count=pucBuf[1];//如果第一字节是你的密码,证明开机次数已经写入过了,第二字节就是次数 pucBuf[1]++; MEM_Write (pucBuf,0x04,2); } else//看来读出的是垃圾数,证明这是第一次烧录程序进来,所以将0x04写入密码,下次运行时就知道..原创 2022-04-02 11:38:44 · 1288 阅读 · 0 评论 -
9.基于STM32CubeMx软件模拟I2C通信
使用: MEM_Write (ReceiveString,0x01,4); HAL_Delay (1000); MEM_Read (I2CString,0x01,4);驱动程序(最后两个自己编写,其余底层驱动官方提供)#include "i2c.h"//#define DELAY_TIME 20#define DELAY_TIME 20//PB6_SCL//PB7_SDA/** * @brief SDA线输入模式配置 * @param None * @re原创 2022-03-30 20:54:44 · 1877 阅读 · 0 评论 -
3.使用STM32CubeMX实现USART
dwwdwdfefefbvr(2)USART1的设置 USART1接口的模式设置 (1)Mode:工作模式,设置为Asynchronous(异步) (2)Hardware Flow Control(RS232):硬件流控制。开发板 的USART接口并没有使用硬件流信号,所以设置为 Disable。USART1接口的参数置 (1)Baud Rate:波特率,设置为57600 bps (2)Word Length:字长(包括奇偶校验位),可选8位或9 位,设置为8位 (3)Pari原创 2022-03-26 19:20:09 · 2366 阅读 · 0 评论 -
4.基于STM32CubeMX使用TIM定时器
1.HAL_通用定时器TIM基础定时器6,7挂载总线APB1,高级定时器1,8,通用定时器为其它定时器时基单元包括3个寄存器:(1)计数寄存器(CNT),这个寄存器存储计数器当前的计数值,可以在运行时被读取。(2)预分频寄存器(PSC),寄存器数值范围0至65535,对应于分频系数1至65536。(3)自动重载寄存器(ARR),这个寄存器存储的是定时器计数周期。2.生成PWM波相关HAL函数HAL_TIM_PWM_Init() 生成PWM波的配置初始化,需先执行HAL_TIM_Base.原创 2022-03-25 21:34:14 · 10175 阅读 · 0 评论 -
1:基于STM32cubeMX实现GPIO,NVIC
1.gpio:1.HAL_GPIO一.引脚模式:作为GPIO输入(1)输入浮空(Input floating),并且不使用上拉或下拉。(2)输入上拉(Input pull-up),使用内部上拉电阻,引脚外部无输入时读取的引脚输入电平为高电平。(3)输入下拉(Input pull-down),使用内部下拉电阻,引脚外部无输入时读取的引脚输入电平为低电平。作为GPIO输出(4)具有上拉或下拉的开漏输出(Output open-drain)。如果没有上拉或下拉,开漏输出1时引脚是高阻态,原创 2022-03-24 11:02:00 · 1450 阅读 · 0 评论 -
8.基于STM32CubeMx实现DAC转换
示例一:软件触发DAC转换1.PA4引脚为DAC_Out1,下拉DAC1-Out1选择Connected to external pin and on chip;2.主程序部分:HAL_DAC_Start(&hdac,DAC_CHANNEL_1);uint32_t DacOutValue=1000;HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_12B_R,DacOutValue);//此时PA4引脚输出电压1000*3.3/原创 2022-02-11 16:05:50 · 975 阅读 · 0 评论 -
7.基于STM32CubeMx实现ADC转化
HAL_ADC_Start(&hadc1); if(HAL_ADC_PollForConversion (&hadc1,200)==HAL_OK) { uint32_t val=HAL_ADC_GetValue(&hadc1); uint32_t Volt=val*3300; Volt>>=12; char str[22...原创 2022-02-11 15:46:25 · 2462 阅读 · 0 评论 -
5.STM32CubeMx实现周期唤醒RTC
使用步骤:1.CubeMx点击RTC,启动时钟源和日历,AlarmA/B设置为InternalAlarm,WakeUp选择Routed to OUT1(将周期唤醒事件信号输出到复用引脚RTC_AF1)。2.General部分:选择24小时制,分频系数选择127(当RTCCLK为32.768KHz时,128分频后就是256Hz),同步预分频器器选择255(256分频后就是1Hz);输出极性选择低电平,输出类型选择开漏。3.Calendar Time:选择二进制数据格式,时分秒设置为初始时间,不使用夏令时原创 2022-02-09 13:57:18 · 2875 阅读 · 0 评论 -
使用STM32中遇到的及C语言的一些问题及解决方法
方法1:首先检查SWIO,SCLK,GND,VCC,RST这五根线是否都接了,有些情况把RST接上就好了,还有我是用的国信长天G431开发板,VCC应该接在开发板的5V引脚,另一边接在stlink的3.3v引脚,当时接的5v,stlink上的灯就熄灭了,改为3.3v这次的问题就解决了。剩下的方法是在网上看到的解决他人的问题的方法方法2:按住开发板RST引脚,电机IDE下载图标,松手,完成下载,下次就不会出现Error了。方法3:将Keil中Debug->Setting->Reset原创 2022-01-26 15:46:11 · 4343 阅读 · 0 评论