STM32
记录问题点
FISH_RUN
快乐的菜鸡
展开
-
STM32输出寄存器注意事项
GPIO输出寄存器 BSRR与ODR区别原创 2022-03-28 22:15:12 · 873 阅读 · 0 评论 -
GD32103RC替换STM32F103RC问题点
GD32103RC替换STM32F103RC问题点1.UART 发送数据ST芯片可运行串口代码而GD不能运行,可能是初始状态不一样void finger_uart5_send(char* buf, uint32_t len){ uint32_t i; if(!buf || !len) { return; } for(i = 0; i < len; i++) { while(USART_GetFlagStatus(UART5, USART原创 2021-09-30 10:41:09 · 2420 阅读 · 0 评论 -
4-20mA转换公式
1.应用背景温度变送器,即转换成4-20mA输出温度范围:-40℃ ~ 80℃转换电流范围:4mA~20mA2.计算公式:并接250Ω电阻,对应测量的电压范围 1V~5V如使用万用表测量的电压是3V时,对应的温度值计算T = (V测 - 250Ω x 4mA) x (80℃-(-40℃)) / (20mA-4mA) + (-40℃)结果校验:如并250Ω后万用表测试的电压为3.5V时(3500-4x250)/250 x 120 / 16 -40 = 35℃25℃时对应的电压值:(25原创 2021-09-27 15:33:11 · 16853 阅读 · 1 评论 -
STM32 ADC+DMA(标准库)
编译工具:MDK5代码生成工具:CubeMX(veision5.6.1)芯片:STM32072CBT6直接上代码ADC.h文件#ifndef _adc_h#define _adc_h#include "sys.h"#define LEAKAGE_0 ADC_Channel_0#define LEAKAGE_1 ADC_Channel_1 #define LEAKAGE_2 ADC_Channel_2 #define LEAKAGE_3 .原创 2020-09-03 13:49:22 · 1470 阅读 · 0 评论 -
MQTT.fx连接电信AEP平台MQTT协议
电信AEP平台1.注册登录AEP平台,个人用户需要认证和开启租户功能2.进入控制台之后,可参考MQTT应用向导3.创建产品:点击产品中心(左上角)→创建产品(右上角)选择设备直连,特征串认证的方式进行连接MQTT,具体就不说明了,也可以使用其他的方式试试4.创建设备:点击“认证信息”查看设备信息:使用MQTT.fx时,设备ID对应的是Client Id,特征串就是password...原创 2020-08-27 20:19:58 · 5199 阅读 · 0 评论 -
STM32 定时器中断周期计算
编译工具:MDK5举例芯片:STM32F103RC1.先看看计算公式:定时中断发生的时间T:T = (arr+1)*(psc+1)/72M当设置arr= 999,psc = 71999,T=1s参考定时器3的配置函数,如下:void time3_Init(u16 arr,u16 psc){ TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure; //声明一个结构体变量 NVIC_InitTypeDef NVIC_Ini.原创 2020-07-17 15:16:42 · 8142 阅读 · 3 评论 -
STM32 HAL库ADC+DMA配置
1.ADC时钟注意事项ADC时钟频率不是越高越好M3:确保ADC时钟不要超过14MHzM4/M7:确保ADC时钟不要超过36MHz2.ADC 采样时间总转换时间计算公式:Tconv = (采样时间+12个周期)x (1/ADCClk)M4内核,ADCClk=APB2CLK/prescale=30MHz且采样的时间=3个周期时,Tconv = (3+12 = 15周期) /30MHz = 0.5us 3.数据对齐方式(左右对齐)数据位存储至CR2 32位寄存器中,实际存储数据的只有16原创 2020-07-07 23:13:21 · 9305 阅读 · 4 评论 -
STM32F401标准固件库配置
1.开发环境KEIL:MDK V5.21 配置方式参考正点原子官方提供固件库版本:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0MCU:STM32F401RCT6易出现问题点:*停留在LDR R0, =SystemInit位置2.相关文件配置请参考正点原子的文件放置进行配置,配置后效果如下配置完成后,我这里使用的外部晶振是8M,需要对stm32f4xx.h以及system_stm32f4xx.c进行修改1.stm32f4xx.h文件修改晶振参数在下图原创 2020-06-29 09:15:34 · 5250 阅读 · 3 评论 -
STM32CubeMx生成的工程文件编译慢
1.STM32CubeMx工具生成的时只将使用的文件下载2.hal库文件只需要编译一次的,在Options for Target “project”(魔术棒)→Output中,取消勾选Browse Information3.将hal库中使用的*.c,*.h文件只编译一次操作例如:HALLIB文件夹中放置的是hal库函数外设,DMA,ADC,DAC等.c文件,不进行修改的文件只需要编译一次,点击右键选择第一个Options for group “HALLIB”(short key:ALT+F7),在P原创 2020-06-23 15:58:50 · 1118 阅读 · 0 评论 -
memcpy与strncpy使用区别
1.styncpy函数extern _ARMABI char strncpy(char * __restrict /s1/, const char * __restrict /s2/, size_t /n/) attribute((nonnull(1,2)));/* copies not more than n characters (characters that follow a null* character are not copied) from the array pointed to原创 2020-06-16 09:27:37 · 1339 阅读 · 0 评论