因为实验室课题的需要,需要学习stm32。之前本科时学过51单片机,虽然stm32本质上来说也是用C对底层寄存器进行操作,但是硬件架构和底层设计的不同两者还是有天壤之别。所以把自己当做新生,从0开始学习STM32。摆正心态,稳步前进!
所采用的开发板:正点原子MINI(实验室直接拿,很方便);
参考书籍:STM32库开发实战指南 刘火良 杨森著(图书馆借,很方便,外加学长推荐);
其他资料:网络查找。
————————————————————————————————————————————————————————
关于 KEIL5 开发环境配置和另外找时间写。
————————————————————————————————————————————————————————
1.什么是GPIO?
通俗理解就是I/O引脚。输入输出端口。
2.GPIO分组?
GPIO分为:从GPIOA->GPIOG 等不同的组。
每一个GPIOX组又有0-15共16个不同的引脚。
这些引脚在通过软件操作时,不同0/1组合可以实现不同的功能。
3.我们需要对GPIO进行哪些操作?
(1)配置输入/输出;
(2)配置相应的模式;
(3)配置数据传输速度;
4.如何操作?
现在有三种操作方法:寄存器操作,库函数操作,HAL库操作。因为实际课题的需要,所以我需要学习的是标准库函数操作。
配置寄存器的具体操作,参考官方的技术手册。
typedef struct
{
uint16_t GPIO_Pin; /*!< Specifies the GPIO pins to be configured.
This parameter can be any value of @ref GPIO_pins_define */
GPIOSpeed_TypeDef GPIO_Speed; /*!< Specifies the speed for the selected pins.
This parameter can be a value of @ref GPIOSpeed_TypeDef */
GPIOMode_TypeDef GPIO_Mode; /*!< Specifies the operating mode for the s