本帖最后由 笑鸟007 于 2016-4-12 22:26 编辑
之前一直没用过HAL库,最近看到论坛里面基本都是用HAL库开发,所以也尝试了一把,觉得确实特别的方便啊! 1.选择板子
2.配置管脚,我们只用到了LED和串口,所以我们只设置RCC和USART3管脚就好(LED2,3默认设置好,LED1自己设置)。
3.时钟配置。采用外部晶振。
4.启用串口中断
最后生成工程。
以上工作完成的工作实际上就是时钟、LED GPIO和usart3的配置。
5.编写程序(So Easy!)
只需要修改2步。
6、当然为了使用printf这个简洁好用的函数,而不是HAL库里面的HAL_UART_Transmit()函数,需要在主函数里面加上一下代码
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */
PUTCHAR_PROTOTYPE
{
while((USART3->SR&0X40)==0);//????,??????
USART3->DR = (uint8_t) ch;
return ch;
}
好了大功告成,编译运行。结果如图
最近才开始用HAL库,简单的介绍HAL库的使用流程。欢迎交流。
最后。stm32f446功能已经非常强大了。stm32F446没有网口,但是PCB板上留了网口的接口和芯片(未焊接),觉得算是这块板子的美中不足吧!
|