stm32随笔
Yohaoa
活着
展开
-
14.关于HAL库中的高级C
这部分是讲一下在使用HAL库中学到的比较有用的高级C/*************************************************************************************************/1.枚举 枚举的便利在于限定参数的选值只可能是已定义的枚举类型,默认为0,可以自己赋值,没有赋值的 自动在赋值之后递增1;这些简单的自己百度一下吧原创 2018-01-03 09:07:48 · 1004 阅读 · 0 评论 -
13.关于spi及双机通信
关于全双工和半双工全双工:通常是两根线,就是一边发送数据的时候还可以接收数据半双工:通常是一根线,就是说当某一方发送的时候另一方只能接收,不能同时有信号在同一根线上/*********************************************************************************************/关于单线和双线单线:分为半双工和只发送或者原创 2018-01-03 09:07:08 · 3239 阅读 · 1 评论 -
12.关于结构体指针
这次是想讨论一个关于结构体指针的问题,具体就是野指针1.首先是关于结构体的问题,结构体可以简单看为一个自定义的变量,比如typedef struct{ unsigned int reg;}aa;aa就是一个结构体变量,你可以用它定义你想要的任意变量,比如aa p;aa *pp;上面定义了一个aa类型的变量p,后面定义了一个指向aa类型的指针pp,可以将aa看作是int类型的变量类原创 2018-01-03 09:06:31 · 239 阅读 · 0 评论 -
11.关于DAC
/************************************************************************************************/关于定时器扫频触发DAC生成正弦波或者三角波的理解:那么对于使用DMA+DAC+TIMER产生正弦波的原理或过程,我有这样一个简单的理解:先将一个可以生成正弦波的数据表保存在静态内存中,然后在DAC以及这原创 2018-01-03 09:05:52 · 651 阅读 · 0 评论 -
10.关于DMA
其实我是顺着上一篇ADC的思路来的,本来我也没想用过DMA来传数据,但是无奈使用ADC必须要用到只能较为浅显的研究一下,其实DMA广泛应用于ADC 和 DAC 还有一些其他的外设中 ,应用十分广泛!!!好吧,马上开始主题。/**************************************************************************************原创 2018-01-03 09:05:21 · 884 阅读 · 0 评论 -
8.关于看门狗
关于看门狗啊,这个东西之前挺不常用的,因为这些东西都是一些防御型的外设什么的,平时没事谁会用他们啊,刚开始肯定都会认为自己写的代码无懈可击,也不算是吧,反正就是绝大多数下都不会出什么问题但是真等到出什么问题了,基本上你离换工作也就不远了,听说欧美人写代码,和我们不同,他们总是比较喜欢写一些防御性很强的代码,万一系统出什么事情了,好歹有对应的异常处理或者是复位处理等等我们也应该多学学别人编程的原创 2018-01-03 09:03:58 · 441 阅读 · 0 评论 -
7.关于串口
关于串口吧简单谈下吧,其实只是会用单片机的串口并不算是真正意义上的串口了,为什么呢,因为,只有学了FPGA的串口实现才能较为深入的了解这个协议1.发送2.接收3.波特率/***********************************************************************************************/基于寄存器的1.发送原创 2018-01-03 09:03:25 · 390 阅读 · 0 评论 -
4.关于时钟树的配置
接下来谈谈如何关于时钟树进行配置STM32的时钟树很复杂,想要真正的搞清楚真不是一件容易的事情,因此我们需要结合着Cube的时钟树界面进行介绍,我觉得我有必要顺着时钟树来给大家讲清楚/********************************************************************************************************/1.原创 2018-01-02 22:49:14 · 1017 阅读 · 0 评论 -
3.关于延时函数的配置
接下来简单谈下如何配置延时函数(使用SysTick)参考 http://blog.csdn.net/luodonghuan1/article/details/46573501关于延时函数有以下几种方案1.不依赖于硬件,实现软件延时2.利用SysTick,实现硬件演示,依赖于时钟配置/*******************************************************原创 2018-01-02 22:48:43 · 753 阅读 · 0 评论 -
2.关于GPIO的配置
总结关于GPIO的简单寄存器配置大概有以下简单步骤1.配置GPIO时钟2.配置GPIO寄存器/**********************************************************************************/常用模式/*************************************************************原创 2018-01-02 22:47:10 · 1613 阅读 · 0 评论 -
1.关于时钟系统的配置
系统时钟是很重要的一部分 作为最小系统的一部分(时钟 复位 电源)开始学习单片机前是必须了解的一个环节此内容主要针对于想更改任意时钟的情况,不限定死时钟一定要是168Mhz频率,so?写寄存器至少要包含三个重要的系统文件1.启动文件 startup_stm32f407xx.s2 系统文件 system_stm32f4xx.c(.h文件就是关于.c的一些声明)3.头文件 stm32原创 2018-01-02 22:46:20 · 2055 阅读 · 0 评论 -
15.关于stm32f407xx.h stm32f4xx.h文件的介绍
首先说下我寄存器里面用的是stm32f4xx.h文件,而HAL库里面的是stm32f407xx.h文件,这两个文件从本质上来说是一样的,都是必须的头文件之一,因此讲一个另一个也应该会了的!!!最近一直痴迷于HAL库的代码实现,然后情不自禁去翻了一遍stm32f407xx.h 文件,突然发现还蛮有意思之前用寄存器写时钟配置翻过system_stm32f4xx.c 和 启动文件 ,算是大概有点了解原创 2018-01-03 09:08:33 · 5459 阅读 · 0 评论