- 博客(7)
- 收藏
- 关注
原创 STM32F103RCT6芯片的正点原子mini开发板学习笔记(6)
单工,半双工,全双工。串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单便捷,因此大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该 通讯方式输出调试信息。首先是对时钟的配置,串口外设时钟的开启,在APB2总线上开启USART1,再开启GPIOA的时钟,并配置PA9 PA10,PA9对应发送端口,所以需要配置为复用推挽输出模式,PA10是接收口,需要配置为浮空输入模式。最后,配置中断,设置优先级组,设置优先级,开启中断使能,使能串口。
2025-04-06 22:12:32
297
原创 STM32F103RCT6芯片的正点原子mini开发板学习笔记(5)
3.AFIO配置引脚复用选择,我们需要打开PC5的EXTICR功能,所以AFIO->EXTICR[1] |= AFIO_EXTICR2_EXTI5_PC;我们以key按键作为中断请求,进入中断服务程序为例,实现按下按键,LED灯亮起的操作。2.GPIO的工作模式 我们的板子key0对应 PC5 需要上拉输入模式所以 MODE配置为00,CNF5配置为10。外部中断都是通过外部引脚,进入外部线上,再进行外部中断事件的处理。如PA0产生信号,经过AFIO配置引脚复用选择,配置外部中断EXTI0。
2025-03-08 16:44:42
178
原创 STM32F103RCT6芯片的正点原子mini开发板学习笔记(4)
由于后续开发可能需要有很多配置,或者初始化的东西,我们只在main文件中编写代码会显得十分的长或者臃肿。所以我们需要对整个项目进行管理,比如led的初始化,开关等功能文件封装到led.c led.h里面。按键等其他外设也是如此。前者是对具体初始化,函数的实现,后者是对前者函数的引用,宏定义等。首先在项目路径下,创建一个hardware文件夹,存储外设文件。这样对主函数可以更方便的应对全局的功能实现。在keil中项目同时也要加入这些文件。同时创建led.c led.h文件。
2024-12-17 22:36:02
182
原创 STM32F103RCT6芯片的正点原子mini开发板学习笔记(3)
但时遇到需要例如多设备共用信号线,电平转换成5v,需要外部上拉电阻确定高电平可以使用开漏模式。开漏输出,因为PMOS关断,形成漏极开路,所以在高电平输出时,引脚需要接上拉电阻和vdd。复用输出:就是通过片上其它外设产生高低电平给,IO口输出。2个32位配置寄存器:GPIOx_CRL,GPIOx_CRH。2个32位数据寄存器:GPIOx_IDR,GPIOx_ODR。输出:(1)开漏(2)推挽(3)推挽式复用(4)开漏式复用。输出可以控制灯,蜂鸣器,电机(大电机需要驱动器)(2)上拉(3)下拉(4)模拟。
2024-12-10 00:11:30
197
原创 STM32F103RCT6芯片的正点原子mini开发板学习笔记(2)
我们借助标准库 #include "stm32f10x.h" 这个头文件里面已经编写好了相关寄存器的名称,我们不需要去记相关寄存器地址,只需记住寄存器相关名称,用结构体指针的方式,指针访问结构体成员。这个相当于在做左移后,位与,位或的操作,不太熟悉的小伙伴可以借助稿纸,或者程序员计算器,进行推导,或者查找相关资料熟悉一下。但由于如果我们每次都使用上文的方法去实现我们需要的东西,会十分繁琐,且32单片机相比于51单片机,寄存器数量多很多。我们可以通过位与,位或的形式置零,置一,只改变寄存器的单独一位。
2024-12-09 22:01:20
292
原创 STM32F103RCT6芯片的正点原子mini开发板学习笔记(1)
如图,我们只需配置CNF8,和它对应的MODE,这里我们只需配置成输出模式,我们可以设置为最大速度输出,MODE为11,CNF8为00。最近需要获得一些DSP相关的数据,所以想用STM32作为主控,获取数据,刚好有一块正点原子的mini开发板,重操旧业,再学习一下STM32的相关知识。这块mini 开发板上有两个LED灯,对应PA8,PD2,LED原理图表示当DS0 ,DS1为低电平是,发光二极管导通,LED点亮,所以我们配置寄存器需要将PA8,PD2的输出引脚配置为0。即可配置好点灯项目。
2024-12-08 13:06:03
1775
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人