草庐IT

HAL 固件库

全部标签

移动神器RAX3000M路由器不刷固件变身家庭云之三:外网访问家庭云

本系列文章:移动神器RAX3000M路由器变身家庭云之一:开通SSH,安装新软件包移动神器RAX3000M路由器变身家庭云之二:安装vsftpd移动神器RAX3000M路由器变身家庭云之三:外网访问家庭云移动神器RAX3000M路由器变身家庭云之四:开放LuCI管理界面,网站服务移动神器RAX3000M路由器不刷固件变身家庭云之五(高级应用):设置成maven私服移动神器RAX3000M路由器不刷固件变身家庭云之六(高级应用):设置https要从外网访问家庭云,首先要开通相应的端口,然后需要一个动态域名。1.开通端口ftp需要一个连接端口和一些数据传输端口命令如下:uciaddfirewall

STM32 HAL库 SPI主从双机通信

一、简介最近因为项目需求,需要在一块板子内实现一个主机和五个从机的通信;主机平台选用的是STM32F407VGT6,从机平台选用的是STM32F103C8T6;通信总线选用的是SPI总线。在构想是觉得采用SPI进行主从通信会很简单,但在实际开发的过程中,各种坑,通信时而正常时而混乱。不过在不断探究中,也逐渐发现了,各种问题所在,借此记录下来,希望能帮助一些兄弟在开发中避免一些坑。本次实现的平台如下:通信主机:芯片:STM32F103RCT6硬件平台:野火mini开发板通信从机:芯片:STM32F103C8T6硬件平台:淘宝STM32F103C8T6最小系统开发板软件:HAL库MDKSTM32C

STM32故障处理——HAL_Delay卡死

问题描述笔者准备写一个按键控制LED亮灭的简单程序,但是程序却卡死在了用于消抖的HAL_Delay(20)处问题所在检查发现是因为HAL_Delay()需要用到SysTick定时器,而本人使用的STM32CubeMX对SysTick的初始中断优先级设为了15(最低),所以按键中断进入后调用HAL_Delay()函数发生卡死解决方案打开STM32CubeMX,进入Pinout&Configuration->SystemCore->NVIC,将SysTick的优先级设置得比按键中断更高即可前面的是抢占优先级,后面的是响应优先级简单来说就是比谁的数字小,小的优先级高。比完抢占优先级比响应优先级。

HAL 库

HAL库1、初识HAL库1.1CMSIS简介CMSIS(微控制器软件接口标准):CrotexMicrocontrollerSoftwareInterfaceStandard,是由ARM和与其合作的芯片厂商、软件工具厂商,共同制定的标准ARM官方提供的CMSIS规范架构1.2HAL库简介ST为了方便用户开发STM32芯片开发提供了三种库:标准外设库:StandardPeripheralLibrariesST最早的库,现在还在用目前只兼容F0/F1/F3/F2/F4/L1系列目前已停止维护HAL库(硬件抽象层):HardwareAbstractionLayerST目前主推的库全系列兼容兼容性好、移

普中STM32-PZ6806L开发板(HAL库函数实现-TIM5 设置 PWM input, 获取频率跟占空比)

简介初始化TIM5为PWMinputCH1,获取输入PWM的频率和占空比电路原理图连线将PC7与PA0使用跳线进行连接其他知识APIs/*Blockingmode:Polling*/HAL_StatusTypeDefHAL_TIM_IC_Start(TIM_HandleTypeDef*htim,uint32_tChannel);//堵塞捕获开启HAL_StatusTypeDefHAL_TIM_IC_Stop(TIM_HandleTypeDef*htim,uint32_tChannel);//堵塞捕获停止/*Non-Blockingmode:Interrupt*/HAL_StatusTypeDe

基于HAL库实现STM32硬件IIC读写MPU6050

一、接口介绍1.1HAL_I2C_Mem_Write()参数1:I2C句柄,如&hi2c1;参数2:从机设备地址(呼叫),如陀螺仪,写为0xD0(...0);参数3:从机寄存器地址(具体的读写位置);参数4:从机寄存器地址长度,I2C_MEMADD_SIZE_8BIT或I2C_MEMADD_SIZE_16BIT;参数5:发送的数据的起始地址(写入什么);参数6:传输数据的大小如1代表1字节;参数7:操作超时时间如0x10...。1.2HAL_I2C_Mem_Read()参数2:如陀螺仪,读为0xD1(...1);参数5:读到哪里二、实验代码(注释很重要)uint8_tSenddata0x00=

单片机固件MD5校验、AES加密、gzip压缩方案(QT)

单片机固件MD5校验、AES加密、gzip压缩方案方案简介MD5AES加密gzip在QT中使用MD5、AES、glibQT环境MD5AESQT部署AESAES使用glibui设计主界面AES配置界面验证(结果)源码方案简介  先使用glib对固件进行压缩;然后使用MD5对固件进行添加头部校验值;最后使用AES对固件进行加密。MD5  MD5,全称MessageDigestAlgorithm5,即信息摘要算法5,是一种被广泛使用的密码散列函数。它可以产生出一个128位(16字节)的散列值(hashvalue),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(RonaldLinnR

【STM32】STM32F103ZET6 创建工程模版详解(固件库)

00.目录文章目录00.目录01.固件库概述02.创建工程步骤03.讨论04.附录01.固件库概述ST(意法半导体)为了方便用户开发程序,提供了一套丰富的STM32标准外设函数库库,简称固件库。固件库版本:STM32F10x_StdPeriph_Lib_V3.5.002.创建工程步骤2.1在建立工程之前,我们在电脑的某个目录下面建立一个文件夹,名字为00_Template。笔者目录为E:\ProgramData\Keil\00_Template2.2在上述00_Template目录下创建一下四个目录CORE用来存放核心文件和启动文件,OBJ是用来存放编译过程文件以及hex文件,STM32F10

【STM32】HAL库——串口中断只接收到两个字符

【STM32】HAL库——串口中断只接收到两个字符一、问题描述二、解决方法三、原因分析一、问题描述环境:STM32CubeMX(6.7.0)+MDK-ARM(V5.36.0.0)+STM32F103C8T6使用XCOM发送字符串(总共8个字符),单片机进行解析为ModBus协议失败,只接收到前两个字节的数据。二、解决方法原串口中断回调函数:voidHAL_UART_RxCpltCallback(UART_HandleTypeDef*huart){if(huart->Instance==USART1)//判断是哪个串口调用回调函数{if(modbus.reflag==1)//有数据包正在处理

普中STM32-PZ6806L开发板(HAL库函数实现-无源蜂鸣器响动)

简介本篇将驱动无源蜂鸣器进行5KHz的响动。电路原理图蜂鸣器电路原理图主芯片驱动引脚原理图其他知识蜂鸣器类型蜂鸣器分为有源蜂鸣器:触发就会响。无源蜂鸣器:需要给源,输出一定频率的音频信号,震动发声;占空比为什么占空比总是50%呢?当蜂鸣器的信号占空比较低时,即高电平时间较短,低电平时间较长。这时蜂鸣器的发声强度会较低,声音持续时间也较短。当蜂鸣器的信号占空比较高时,即高电平时间较长,低电平时间较短。这时蜂鸣器的发声强度也会较高,但声音持续时间相对较短。因为蜂鸣器在高电平时间过长的情况下,虽然能够充分振动产生较大的声音,但声音传播时间变短,导致发声时间较短。这种情况下,蜂鸣器的声音更加尖锐和紧凑