完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
一,用MX软件和HAL库进行初步的编写,并用高低电平控制LED灯亮灭
1 用STMCUBEmx对要求进行输入 在软件打开的初始界面里面选择FILE新建工程 然后进入CLOCK窗口里面,选择PLLCLK改成72Mhz 然后进入Project配置界面,配置好自己的名称和路径然后在IDE栏选择为MDK-ARM 2 更改main.c里面的内容 打开项目所在的文件夹打开项目在主函数前面用下列函数 void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){3. 烧录并运行 然后进行烧录。在进行运行结果如下 二 中断实现串口通信 也是使用MX软件新建工程和以上一样的配置过程 SYS RCC 然后在左边的第四个分支里面选择USART1里面配置如下 2 在keil中打开项目对main.c进行相应的更改 打开main.c文件,在头文件调用 下面加入以下内容 uint8_t aRxBuffer;//接收缓冲中断uint8_t Uart1_RxBuff[256];//接收缓冲uint8_t Uart1_Rx_Cnt=0;//接收缓冲计数uint8_t cAlmStr[; 然后在main函数之前写入回调函数 void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)最后在main函数里面加入以下中断函数 HAL_Init();3 最后进行烧录,然后在野火串口助手里面进行手动输入数据结果如下 三 使用DMA向上位发送信息 使用MX文件创建新工程,在选择STM32F103C8Tx双击进去,在第四个分支里面点出来将芯片的PA9和PA10分别选择为TX和RX,然后在左边mode里面选择Asynchronous,然后添加两个分别为TX和RX的引脚 MDK-ARM uint8_t send_char[;然后对hex文件进行烧录,并进行运行结果如下 达成用DMA连续发送串口通信 四 总结 通过使用STMCUBEMX软件调用hal库函数进行简单的程序生成对led灯进行开关的控制以及中断,DMA的串口通信方式学到了通过触发中断来得到我们想要的结果。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
2065 浏览 0 评论
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
4792 浏览 0 评论
4273 浏览 9 评论
3863 浏览 16 评论
4433 浏览 1 评论
4261浏览 3评论
3435浏览 0评论
1202浏览 0评论
2888浏览 0评论
3952浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 11:30 , Processed in 0.755285 second(s), Total 76, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
784