STM32CUBE_MX_STM32F030C8T6_USART_TX应用
来源:互联网 发布:windows rt刷安卓 编辑:程序博客网 时间:2024/06/18 17:58
初始设置:SYS :debug_serial_write 勾选 timebase_source选择systick RCC:默认内部时钟所有不需要做任何修改
需要注意的是:如果想用IWDG,则在调试代码时需要先关闭之,否则系统不能正常运行,下面开始设置USART,如下图
接着设置通讯参数(之前的系统时钟配置为48MHz):
补充一下,这里要实现的是把txbuf数组中的10个字节的数据利用定时器17的溢出中断每隔500ms从TX口发送一次,下面设置定时器
Tout=(24000*1000)/48000000=0.5S计数周期
记得设置中断,如下图
到此CUBE设置完成
重点在下面哦
在主函数初始化部分进行
使能USART发送和定时器17
定义发送数组
u8 txbuf[10] = {0,1,2,3,4,5,6,7,8,9};
在stm32f0xx_it.c中有如下语句,其中
HAL_TIM_IRQHandler(&htim17);找到后goto definition到函数定义处,找到溢出中断对应的回调函数
void TIM17_IRQHandler(void){ /* USER CODE BEGIN TIM17_IRQn 0 */ /* USER CODE END TIM17_IRQn 0 */ HAL_TIM_IRQHandler(&htim17); /* USER CODE BEGIN TIM17_IRQn 1 */ /* USER CODE END TIM17_IRQn 1 */}
/* TIM Update event */ if(__HAL_TIM_GET_FLAG(htim, TIM_FLAG_UPDATE) != RESET) { if(__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_UPDATE) !=RESET) { __HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE); HAL_TIM_PeriodElapsedCallback(htim); } }
HAL_TIM_PeriodElapsedCallback(htim),这个函数就是我们要写的中断服务函数,由于cube在代码中有弱定义_weak,我们直接复制
/* USER CODE BEGIN 1 */void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){ HAL_UART_Transmit(&huart2,&txbuf[0],sizeof(txbuf),100); //这个就是我们加入的中断服务程序,每500ms进入中断一次 }/* USER CODE END 1 */
文中写的粗略一些,根据自己使用环境再进行详细编写!
阅读全文
0 0
- STM32CUBE_MX_STM32F030C8T6_USART_TX应用
- 应用
- 应用
- 应用
- 应用
- 应用
- 应用
- 应用
- 网站应用/ 项目应用
- slam应用及应用
- android 应用跳应用
- VML应用
- Ant应用
- 批处理应用
- 应用 Remoting
- 数据压缩 -- 应用
- jstl应用
- Ant应用
- SSL1132 编码问题
- selenium3+python2.7启动Firefox 53提示:socket.error: [Errno 10054]
- Design Patterns
- thymeleaf模板
- Low Cost Air Travel UVALive
- STM32CUBE_MX_STM32F030C8T6_USART_TX应用
- MVP基类使用介绍
- Javascript 语言的模板引擎:Mustache
- io流的使用:
- IO流
- c/c++出现:fatal error LNK 1120:1 unresolved externals
- 异常处理:finally块中代码什么时候执行总结!
- win7怎么修改开机密码(最快) win7修改开机密码最便捷的方法
- 怎么学好php