- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 C语言基本算法
1.冒泡排序/**< 冒泡排序从小到大排序*/void bubble_pos_sort(u8 *data,u16 len){ u8 i,j,buff; for(i=0;i<len;i++){ for(j=0;j<len-i-1;j++){ if(data[j] > data[j+1]){ buff = data[j]; data[j] = data[j+1]
2022-01-06 21:13:50 1095
原创 结构体-自动对齐和取消自动对齐方法
1.问题点环境STM32 开发项目使用结构体2.嵌套结构体 typedef struct{ u32 valid_time1; u32 valid_time2; u32 valid_time3; }time_types; typedef struct{ u8 time_zone_id; time_types monday_time; time_types tuesday_time; time_types wednesday_time; time
2021-11-17 20:37:57 3057
原创 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
原创 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 16776 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 1465
原创 MQTT.fx连接电信AEP平台MQTT协议
电信AEP平台1.注册登录AEP平台,个人用户需要认证和开启租户功能2.进入控制台之后,可参考MQTT应用向导3.创建产品:点击产品中心(左上角)→创建产品(右上角)选择设备直连,特征串认证的方式进行连接MQTT,具体就不说明了,也可以使用其他的方式试试4.创建设备:点击“认证信息”查看设备信息:使用MQTT.fx时,设备ID对应的是Client Id,特征串就是password...
2020-08-27 20:19:58 5189
原创 Altium Designer 开窗(去除阻焊层)
1.软件版本:Altium Designer 18.1.92.先说说开窗的好处:开窗就是去除布线或铺铜上的阻焊层(油),一般在布线上进行开窗是为了在铜线上焊接焊锡丝或者焊接一根粗的铜线(大电流使用),进行区域的开窗一般是为了扇热使用,在没有阻焊层的时候,直接与空气接触更利于达到扇热的效果。直接看效果吧下图Bottom层未网络线NC2未开窗效果1.进行走线开窗步骤如下①→③操作方法进行连线查看开窗后的效果2.区域开窗和不规则开窗也是一样的方法,只是选择的不再是走线只是在进行第二步的时候不是
2020-07-29 16:26:52 24444 4
原创 Altium Designer导入导出规则
Altium Designer导入导出规则软件版本信息:Altium Designer 18.1.9导出规则:在打开PCB界面(xxx.PcbDoc),点击设计→规则,进入PCB规则及约束管理器,在左上侧右击选择Export Rules(导出规则),进入选择设计规则类型,可以按住Ctrl键进行选择需要导出的规则也可以全部导出(Ctrl+A全选)(具体操作如下图)3.导入同理导入也是差不多的流程,在第二个图位置导出下面就是导入,进行导入的时候也可以是导入全部的规则也可以选择部分设计
2020-07-29 14:16:36 5015
原创 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 8128 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 9303 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 5244 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 1116
原创 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
原创 labview编程技巧与调试
一、快捷键新建VI:Ctrl+N切换VI前面板与程序框图(左右分布):Ctrl+T即时帮助:Ctrl+H预览前面板 Ctrl+MVI属性:Ctrl+I整理程序(需选中需要整理的区域):Ctrl+U删除断线:Ctrl+B...
2020-06-05 10:24:02 738
android 签名文件及工具.zip
2020-03-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人