1. 了解内存、片上资源、CPU主频等
RAM、Flash、EEPROM大小,了解清楚芯片外设接口资源,芯片内部包含那些资源,CPU主频是多少,这些需要搞清楚(在芯片选型时一定要搞清楚这些这一款芯片有什么资源)
2. 到ST官网找对应芯片的,固件库,MDK支持包;找芯片(开发板)原理图,数据手册,参考手册等资源,以后开发时要参考这些文档;找《STM32F4开发指南-库函数版本_V1.1》、《【STM32F446xx】基于ARM Cortex-M4内核的32位微控制器》参考书等;如果要使用的芯片在市面上文档/视频教程资料比较少,为了更快入门,必要时可以参考同系列的其他芯片资料,入STM32F446可以参考STM32F407,(注意的是,即使是同系列的芯片,也要注意它们的CPU主频,参考407的代码时,需要把CPU主频修改为446的主频。)
3. 先熟悉软件平台的使用,熟悉常见的GPIO、按键、中断、常见外设接口SPI,I2C等的使用
拿到一块板,先要搞掂最基础的4个实验:
1)LED(GPIO):熟悉stm32F4的IO口作为输出的作用
2)按键:熟悉stm32F4的IO口作为输入的作用,通过按键控制LED亮灭、蜂鸣器等
3)串口(UART):熟悉串口通信,串口作为MCU重要的外部设备,同时也是软件开发调试的重要调试手段,其重要性不言而喻。
4)中断(外部中断、定时器中断):熟悉中断功能;STM32F4的每个IO口都可以作为外部中断的中断输入口。这点是STM32F4DE的强大之处。如:通过外部IO口的中断功能来控制板载的LED亮灭以及蜂鸣器的发声。
再此基础上再去研究ADC/DAC、PWM,SPI,I2C,DMA等。
1)SPI:是串行外设接口的意思,重要应用于EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间 。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用4根线,节约了芯片的管脚,同时为PCB布局节省了空间,提供了方便。
2)I2C:
I2C(Inter-Integrated)总线是一种由PHILIPS公司开发的两线式串行总线,用于控制微控制器和外围设备。它是由数据线SDA和时钟SCL构成的串行总线,可以发送好接受数据。在CPU与被控IC之间,IC与IC之间进行双向传送,高速IIC总线一般可达400kbps以上。
3、DMA
4. 基于固件库的开发(包括标准库、HAL库)
HAL库比标准库的可移植性要更好,容易兼容各种平台,只需要改动少量代码就可以在其他平台使用。