
STM32
文章平均质量分 60
a904235765
这个作者很懒,什么都没留下…
展开
-
10、RTC实时时钟实验
1、实时时钟(RTC)是STM32一个独立的定时器,可以提供日历功能;2、想要对实时时钟进行配置,必须进行相关寄存器的操作,大体的流程包括:通过设置寄存器 RCC_APB1ENR 的 PWREN 和 BKPEN 位来打开电源和后备接口的时钟 及电源控制寄存器(PWR_CR)的 DBP 位来使能对后备寄存器和 RTC 的访问。3、RTC分频则用到RTC_PRLH与RTC_PRLL这两个寄存器,其中R原创 2014-12-17 20:02:55 · 4200 阅读 · 0 评论 -
4、定时器中断实验
1、思路:通过设定定时器3的溢出中断,实现对LED灯的闪烁控制。2、主要过程:由于在实验过程中使用到的是刷新(溢出)中断,所以我们要开启计数器计数使能,刷新中断使能,设定分频因子、分频系数、计数类型等。3、注意点:分频系数(psc):用于对计数器时钟进行分频,它的数值可以在1-65535取值。计数器的时钟频率(CK_CNT)等于fCK_PSC/( PSC[15:0]+1)。原创 2014-12-11 16:57:09 · 1951 阅读 · 0 评论 -
5、PWM输出实验
1、主要思路:通过控制TIM1的端口输出PWM波形来实现对LED灯的亮暗控制。2、注意点:TIM1的频率=Tclk/(arr+1) Tclk:TIMx的输入时钟频率 arr:设置在下一个更新事件装入活动的自动重装载寄存器周期的值 设置占空比:占空比计算方法:TIMx_CCRx的值除以ARR寄存器的值即为占空比,因为占空比在0—1原创 2014-12-12 11:25:39 · 1230 阅读 · 0 评论 -
3、看门狗实验
1、看门狗作用:配置后用于防止程序进入死循环,喂狗时间到了之后就重启整个程序,所以整个过程中想要程序正常进行就必须进行不断的喂狗。2、看门狗配置过程:先取消寄存器的写保护、设置看门狗的预分频系数与转载值、重载计数值喂狗、最后启动看门狗。原创 2014-12-10 16:31:20 · 1789 阅读 · 0 评论 -
20、DS18B20实验
1、实现对外部温度的采集。2、严格按照时序来写程序。分析一些代码://等待DS18B20的回应//返回1:未检测到DS18B20的存在//返回0:存在u8 DS18B20_Check(void) { u8 retry=0;DS18B20_IO_IN();//SET PA0 INPUT while (DS18B20_DQ_IN&&retry原创 2014-12-25 19:07:47 · 1754 阅读 · 0 评论 -
2、串口实验
1、串口通信:也就是常说RS232通信,通信主要由三根线完成 构成:地线、接收数据线RX、发送数据线TX 通信方式:异步,也就是可以同时发送与接收 配置方式:通信中重要的参数是波特率、数据位、停止位和奇偶校验位,对于两个进行通讯的串口,这原创 2014-12-09 19:54:48 · 1632 阅读 · 0 评论 -
1、按键实验
1、思路:通过设置相应的端口为输入模式,再通过while语句来循环读取按键值,如果按键有按下,则做出响应,控制LED灯的亮与灭。2、过程:在建立的工程文件HARDWARE子文件夹中添加一个文件名为KEY的文件夹,在里面新建好key.c,key.h两个文件。之后就再添加到工程中,(刚开始的时候找不到key.h,可以编译之后就可以在下面的子目录找到)。由于是端口的使用,所以开始设定端口的模式且使能原创 2014-12-08 20:56:10 · 2427 阅读 · 0 评论 -
17、SPI实验
1、SPI 是英语 Serial Peripheral interface 的缩写,顾名思义就是串行外围设备接口。是 Motorola首先在其 MC68HCXX 系列处理器上定义的。 SPI 接口主要应用在 EEPROM, FLASH,实时时钟,AD 转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片原创 2014-12-20 13:35:33 · 2863 阅读 · 0 评论 -
7、OLED实验、8080、SPI
1、学习 SSD1306 型OLED的使用,区别8088与080 接口以及 4 线 SPI接口的写数据与命令的区别。2、8080 并行接口的发明者是 INTEL,该总线也被广泛应用于各类液晶显示器,ALIENTEK OLED 模块也提供了这种接口,使得 MCU 可以快速的访问 OLED。ALIENTEK OLED 模块的 8080 接口方式需要如下一些信号线:CS:OLED 片选信号。原创 2014-12-14 15:07:54 · 11752 阅读 · 1 评论 -
16、IIC通信协议
1、IIC简介 IIC即Inter-Integrated Circuit(集成电路总线),它由飞利浦设计于80年代设计出来的,是一种半双工通信方式。(SPI是全双工方式)它是由时钟线SDA与数据线SCL构成串行总线。可以在IC与IC、IC与CPU之间进行双向传送。主机按照一定的通信协议给从机进行地址寻址及信息传输,其中数据的传输方向及传输地址都是有主机决定的。其典型的物理结构方式如下图所原创 2014-12-19 10:55:59 · 2042 阅读 · 0 评论 -
14、DAC实验
1、学习如何配置使用STM32的DAC。2、注意点就是在使用过程中间PA4设置为模拟输入,这样可以避免干扰,原因是在使能DAC之后,端口就会被配置为模拟输出。原创 2014-12-18 19:12:53 · 752 阅读 · 0 评论 -
11、待机唤醒实验
1、这个章节主要讲述了如何配置STM32功耗最低的待机模式,且以wk_up的上升沿作为它的唤醒方式。2、如果是正常运行,先执行中断程序。 如果是待机状态,则先复位并初始化。 程序的主要流程是初始化到WKUP_Init()函数,在之内的死循环中等待按键按下的消息到来,只有这样,程序才可以执行下去到点亮LCD。如果没有按键按下程序就一直处于 待机的状态。(因为在WKUP_原创 2014-12-18 10:20:46 · 1028 阅读 · 0 评论 -
13、内部温度传感器
1、将ADC1的数据接收通道设置为与内部温度传感器连接的通道(ADC_Channel_16 ),其他的设置与外部模拟量的采集设置类似。2、代码中有两个函数,这两者的作用其实是一致,都是获取获取到内部温度传感器的值,只是一个可以设置采样精度,另一个固定了采样的精度(10)。//得到ADC采样内部温度传感器的值//取10次,然后平均u16 T_Get_Temp(void){原创 2014-12-18 16:27:06 · 1146 阅读 · 0 评论 -
12、ADC实验
1、实验通过单通道转换实现模拟量转换为数字量。2、注意AD转换的算法: STM32的AD转换芯片是12位,基准电压为3.3V,如果是从0~4095。则根据采样的电压=计数器的值*(3.3./2^12-1),代码中的数值改为4095更佳。 同时进行小数位的读取,可以参照以下的方法进行,adcx是个整型变量。 while(1){adcx=Get_A原创 2014-12-18 15:13:41 · 5646 阅读 · 2 评论 -
6、输入捕获实验
注意点:1、在学习的过程中我们使用到与串口实验相类似的一个寄存器(本质是一个变量),用来处理不同的情况,在今后的学习也可以使用这种方法,这种寄存器的组成如下图所示: 2、确定捕获到一个完整高电平的软件实现(包括如果处理接收到的高电平持续时间过长的情况)void TIM2_IRQHandler(void){ if((TIM2CH1_CAPTURE_ST原创 2014-12-14 11:13:23 · 5518 阅读 · 2 评论