
stm32单片机
文章平均质量分 71
蜗牛先森i
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
正点原子stm32F407学习笔记6——外部中断实验
这样每个中断线对应了最多 9 个 IO 口,以线 0 为例:它对应了 GPIOA.0、GPIOB.0、GPIOC.0、GPIOD.0、GPIOE.0、GPIOF.0、GPIOG.0,GPIOH.0,GPIOI.0。编译后报错,提示关于EXIT类函数未定义,这是因为在GPIO那一章节编译全部库文件比较慢把不相关的库文件从工程中删除了,所以操作找不到相关库函数。设置好中断后,当按键按下有上升下降沿时触发中断,进入中断服务函数,判断中断标志位,延时10Ms去抖动,再判断是否是高低电平执行相关操作。原创 2022-11-23 21:09:29 · 2455 阅读 · 2 评论 -
正点原子stm32F407学习笔记5——串口通信实验
直接编译正点原子串口通信实验例程,主要关注main函数和USART1_IRQHandler中断服务函数的逻辑,不太好理解,主要关注下USART_RX_STA这个16位的变量做到类似于标志位的作用与 0x0a换行符0x0d为回车符的处理过程。USART_RX_STA的前13位作为数据长度,第14位收到0x0d后置位0x4000,第15位收到0x0a后置位0x8000后在主函数中发送接收到的数据,这些可以理解为自己定的协议。上位机给开发板发送数据,开发板将收到的数据发回给上位机。原创 2022-11-22 23:25:57 · 4372 阅读 · 0 评论 -
正点原子stm32F407学习笔记4——按键输入实验
KEY0、KEY1 和 KEY2 是低电平有效的,而 KEY_UP 是高电平有效,并且外部都没有上下拉电阻,所以,需要在 STM32F4 内部设置上下拉。并在之前led.h和beep.h两个头文件分别加上这两段宏定义位操作代码,不然主函数报错LED和BEEP未定义错误。使用位操作方便,可以右击PFout 查看,对应各自IO口的地址。参考蜂鸣器一节新建文件key.c,key.h并添加到工程中。最后将程序下载进开发板观察现象。原创 2022-11-02 23:19:42 · 2580 阅读 · 0 评论 -
正点原子stm32F407学习笔记3——蜂鸣器实验
点击保存,这只是保存在本地文件夹中,但此时beep.c还没有加入到工程中,双击HARDWARE文件夹,将beep.c添加到工程中可以看到HARDWARE文件夹下的文件。蜂鸣器为有源蜂鸣器,当 PF.8 输出高电平的时候,蜂鸣器将发声,当 PF.8 输出低电平的时候,蜂鸣器停止发声,硬件原理图如下。打开keil软件中上一节的LED模板,建一个文件,然后保存在HARDWARE→BEEP 文件夹下面,保存为 beep.c。在beep.c中输入如下代码。2、新建beep.h头文件。1、新建beep.c文件。原创 2022-11-01 23:14:22 · 4256 阅读 · 1 评论 -
正点原子stm32F407学习笔记2——GPIO操作跑马灯实验
配置相关寄存器寄存器RCC->AHB1ENR,打开STM32F4XX中文参考手册的6.3.12 小节RCC AHB1 外设时钟使能寄存器,可以看到GPIOF在标号的第5位,设置为1使能IO端口F时钟,其他位不变。在FWLIB文件夹中有多余的源文件,使得编译速度变慢,可以去掉多余的源文件,留下上面使用的5个源文件,右击 Template,选择“Manage project Items”,进入这个选项卡。新建一个文件,然后保存在 HARDWARE->LED 文件夹下面,保存为 led.c。原创 2022-10-30 21:01:44 · 2177 阅读 · 0 评论 -
正点原子stm32F407学习笔记1——新建工程模板
9、右键点击点击Tempate,选择 Manage Project Items.然后选择需要添加文件的 Group,这里第一步我们选择 FWLIB,然后点击右边的 Add Files,定位到我们刚才建立的目录\FWLIB\src 下面,将里面所有的文件选中(Ctrl+A),然后点击 Add,然后 Close.可以看到 Files 列表下面包含我们添加的文件(对于我们写代码,如果我们只用到了其中的某个外设,我们就可以不用添加没有用到的外设的库文件。”,然后选择目录为我们上面新建的 OBJ 目录。原创 2022-10-29 16:33:19 · 6981 阅读 · 2 评论