![](https://img-blog.csdnimg.cn/2021081111210214.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
stm32
stm32常用外设读写的实现
诺谦
热爱生活 活在当下
展开
-
STM32-24位AD7799驱动之手册代码详解,支持模拟SPI和硬件SPI
1.AD7799介绍AD7799结构图如下所示:其中REFIN参考电压建议为2.5V, REFIN电压低于0.1V时,则差分输入ad值就无法检测了,如下图所示:注意:如果REG_CONFIG的REF_DET开启的话,那么输入AD值电压低于0.5V时,则差分输入ad值就无法检测了,如下图所示:2.AD7799差分信号的输入模式如下图所示,差分输入电压有3种模式:注意:...原创 2019-06-13 20:11:00 · 1431 阅读 · 1 评论 -
LIS3DH三轴加速度计-实现欧拉角(俯仰角,横滚角)
1. LIS3DH管脚定义PS:LIS3DH和mpu6050的X和Y方向是相反的, mpu6050如下图所示:2.LIS3DH加速度计介绍由于LIS3DH只可以得到XYZ加速度,无法获取角速度,所以LIS3DH是无法测出偏航角(yaw).3. LIS3DH之转换欧拉角介绍3.1偏航角(yaw)如下图所示,偏航角是指机头在水平面上的投影与地轴之间的夹角,以机头右偏为正.范围为[...原创 2019-04-13 00:41:00 · 2775 阅读 · 5 评论 -
STM32-FreeRTOS快速学习之总结1
1. 基础知识注意:在RTOS中是优先值越高则优先级越高(和ucos/linux的相反) 在移植的时候,主要裁剪FreeRTOS/Source/portable文件夹,该文件夹用来针对不同MCU做的一些处理,如下图所示,我们只需要使用:1.1配置工程时,选择memMang时,一般使用heap_4.cheap_4: 优点在于可以有效的利用内存碎片来合并为一个大内存.缺点在于只能用来一个ram...原创 2019-03-02 21:29:00 · 203 阅读 · 0 评论 -
keil常用配置设置
1.设置tab键为空格4个进入Configuration->Editor,设置如下: 2.代码自动补齐进入Configuration->Editor,设置如下: 3.使用快捷键实现批量注释1. 进入Configuration->shortcut keys2. 在Select a command 中找到 Edit:Advanced:Comment Selection ...原创 2019-02-28 22:02:00 · 588 阅读 · 0 评论 -
stm32问题
1:如果串口带有奇偶校验,则需要设置32的串口字长为9位数据格式才行,否则会乱码2:如果在ucos中使用浮点数,尽量使用__align(8) 对齐,否则串口打印浮点数会乱码,比如://设置任务优先级#define TASK1_PRIO 6 //设置任务堆栈大小#define TASK1_SIZE 256//任务堆...原创 2018-05-11 16:26:00 · 98 阅读 · 0 评论 -
STM32-正弦波可调(50HZ~20KHZ可调、峰峰值0~3.3V可调)
1.原理:通过定时器每隔一段时间触发一次DAC转换,然后通过DMA发送正玄波码表值给DAC.当需要改变频率HZ时,只需要修改定时器频率即可(最高只能达到20KHz)当需要改变正玄波的正峰峰值/负峰峰值时,只需要修改正玄波码表即可2.实现代码如下所示(采用的是定时器2,DAC引脚是PA4)#define HZ(x) (u16)(72000000/sizeof(Sine12bit)...原创 2018-04-13 14:46:00 · 1472 阅读 · 1 评论 -
STM32-对芯片启动读保护,实现加密(详解)
STM32可以对存储在flash上的程序进行读保护.启动读保护后,用户就不能再读写程序了.所以,在烧写程序之前,需要程序调用关闭读保护.关闭读保护后,会自动清空flash上的程序头文件位于:#include "stm32f10x_flash.h"启动保护,用在main()函数初始化时调用:void Set_Protect(void) //启动保护{ if(FLASH_Ge...原创 2018-03-29 15:07:00 · 235 阅读 · 0 评论 -
IIC接口下的24C02 驱动分析
本节来学习IIC接口下的24C02 驱动分析,本节学完后,再来学习Linux下如何使用IIC操作24C021.I2C通信介绍它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据,是一个多主机的半双工通信方式每个挂接在总线上的器件都有个唯一的地址位速在标准模式下可达 100kbit/s,在快速模式下可达400kbit/s,在高速模式下可待3.4Mbit/s。2. I2C总线系...原创 2017-11-06 16:11:00 · 334 阅读 · 0 评论 -
STM32—无需中断来实现使用DMA接收串口数据
本节目标:通过DMA,无需中断,接收不定时长的串口数据 描述:当在串口多数据传输下,CPU会产生多次中断来接收串口数据,这样会大大地降低CPU效率,同时又需要CPU去做其它更重要的事情,我们应该如何来优化?比如四轴飞行器,当在不停地获取姿态控制方向时,又要去接收串口数据.答:使用DMA,无需CPU中断便能实现接收串口数据1.DMA介绍DMA,全称为: Direct Memory Ac...原创 2017-09-14 00:07:00 · 227 阅读 · 0 评论 -
裸机LCD驱动配置
本节来学习裸机下的LCD 驱动,本节学完后,再来学习Linux下如何使用LCD驱动Linux中的LCD驱动,链接如下:(Linux-LCD层次分析链接:http://www.cnblogs.com/lifexy/p/7603327.html)(Linux-LCD驱动分析链接:http://www.cnblogs.com/lifexy/p/7604011.html)横屏4.3寸LCD为4...原创 2017-07-10 16:05:00 · 115 阅读 · 0 评论 -
Nand Flash驱动(实现初始化以及读操作)
本节来学习裸机下的Nand Flash驱动,本节学完后,再来学习Linux下如何使用Nand Flash驱动Linux中的Nand Flash驱动,链接如下:(分析MTD层以及制作Nand Flash驱动链接:http://www.cnblogs.com/lifexy/p/7701181.html)本节简单制作一个Nand Flash驱动(只需要初始化Flash以及读Flash)打开2...原创 2017-06-30 10:32:00 · 462 阅读 · 0 评论