当前位置: 首页 > news >正文

台州网站建设网络工程师和网站开发员

台州网站建设,网络工程师和网站开发员,做购物网站写数据库的流程,建站工具箱CubeMX配置串口通讯#xff08;中断方式和DMA方式#xff09;前言一、中断方式1.CubeMX配置2.代码实现3.实验结果二、DMA方式1.CubeMX配置2.代码实现3.实验结果总结前言 本章继续介绍使用STM32CubeMX对串口进行配置的方法#xff0c;串口通讯有三种方式#xff1a;轮询中断方式和DMA方式前言一、中断方式1.CubeMX配置2.代码实现3.实验结果二、DMA方式1.CubeMX配置2.代码实现3.实验结果总结前言 本章继续介绍使用STM32CubeMX对串口进行配置的方法串口通讯有三种方式轮询中断和DMA上一章节实现了重载printf功能和串口轮询接收功能本章介绍中断和DMA方式上一章节已经对串口进行了介绍附有连接和烧录等过程因此本章仅仅介绍CubeMX配置的方法代码实现和实验结果。 一、中断方式 1.CubeMX配置 选择芯片stm32f103c6t6新建工程 设置时钟源最小系统外部晶振8Mhz作为外部高速HSE时钟源。由于没有外接外部低速晶振这里低速时钟源选择旁路时钟源。 配置时钟树这里使用官方推荐的配置 stm32f103c6t6中有2个USART口全都支持DMA方式其中一个通讯速率可以达到4.5Mb/s,另个一通讯速录可达2.25Mb/s都具有CTS和RTS信号引脚。 配置引脚功能从datasheet中可以PA8-PA11可以USART1的复用引脚因为我们这里使用异步模式所以仅仅需要TX和RX两个引脚即PA9PA10这样就可以在PA9管脚得到PWM输出。datasheet截图如下 前面设置HSE时钟为72MHzUSART1的时钟挂载在APB2上 ![ CubeMX配置如下 USART1的参数配置如下波特率115200传输数据长度为8 Bit奇偶检验无停止位1.其他参数默认 使能USART1中断 SYS选项卡中Debug选项选择串口这个选项可以设置不会有影响 Code Generator中设置只拷贝使用到的库分离.c和.h文件 设置好项目名称和路径点击GENERATE CODE即可生成后使用keil5 IDE打开。 2.代码实现 main函数如下 /* USER CODE BEGIN 0 */ uint8_t aTxStartMessage[] \r\n****Interupt Serical communication ****\r\n;uint8_t aRxBuffer[20]; /* USER CODE END 0 *//*** brief The application entry point.* retval int*/ int main(void) {/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_USART1_UART_Init();/* USER CODE BEGIN 2 */HAL_UART_Transmit_IT(huart1, (uint8_t *)aTxStartMessage, sizeof(aTxStartMessage));/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE */HAL_UART_Receive_IT(huart1, (uint8_t *)aRxBuffer, 10);/* USER CODE BEGIN 3 */}/* USER CODE END 3 */ }为了串口回显这里重载回调函数HAL_UART_RxCpltCallback该函数会在接收数据之后调用 /* USER CODE BEGIN 4 */ void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) {/* Prevent unused argument(s) compilation warning */UNUSED(huart);/* NOTE : This function should not be modified, when the callback is needed,the HAL_UART_RxCpltCallback can be implemented in the user file*/HAL_UART_Transmit(huart1, (uint8_t *)aRxBuffer, 10,0xFFFF); } /* USER CODE END 4 */3.实验结果 二、DMA方式 1.CubeMX配置 USART1的参数配置如下波特率115200传输数据长度为8 Bit奇偶检验无停止位1.其他参数默认 使能USART1中断串口使用DMA方式必须开启中断否则程序发送一次数据后,不能判断DMA传输是否完成串口会一直处于busy状态。 DMA参数配置发送选择 DMA1 Stream 4通道方向从存储器到外设优先级为低。接收选择 DMA1 Stream 5通道方向从外设到存储器。mode设置可以选择Normal表单次传输传输一次后终止传输Circular表示循环传输传输完成后又重新开始继续传输不断循环永不停止。此处选择单次传输Mode为Normal。Data Width:串口数据发送寄存器只能存储8bit,每次发送一个字节所以数据长度选择Byte。 2.代码实现 main函数如下每秒串口打印一次 /* USER CODE BEGIN 0 */ uint8_t aTxMessage[] \r\n****DMA Serial communication***\r\n; /* USER CODE END 0 *//*** brief The application entry point.* retval int*/ int main(void) {/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_DMA_Init();MX_USART1_UART_Init();/* USER CODE BEGIN 2 *//* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE */HAL_UART_Transmit_DMA(huart1, (uint8_t *)aTxMessage, sizeof(aTxMessage));HAL_Delay(1000);/* USER CODE BEGIN 3 */}/* USER CODE END 3 */ }3.实验结果 总结 本章承接上一章对串口传输方式的配置介绍使用STM32CubeMX配置串口中断和DMA两种传输方式方式这里没有介绍中断和DMA的原理接下来几章介绍中断原理和DMA原理。
http://www.tj-hxxt.cn/news/224475.html

相关文章:

  • 域名备案通过后怎么做网站临淄网站制作首选专家
  • 国内无版权图片网站旺道seo优化
  • 西安模板网站网站建设营销推广工作
  • 免费域名模板建站廊坊市做网站
  • 主机屋 建网站教程哪个网站可以找人做清洁
  • 胶州市经济技术开发区建设局网站上海企业官网
  • 网站前台架构施工程找工程做哪个网站好
  • 深圳福田网站设计适合团购报名的网站开发
  • 台州网站建设公司哪个好在别人网站挂黑链
  • 网站建设厘金手指排名十九国外做免费网站的
  • 在线修图网站玖玖建筑网
  • 郑州网站建设维护公司建设网站是公司资产
  • 怎样创建网站以及建站流程是什么wordpress首页标题修改
  • 网络推广建议网络优化的内容包括哪些方面
  • 全网推广公司成都百度网站排名优化
  • 营销网站建设哪家好网站制作小常识
  • 网站建设策划书是有谁编写的wordpress分站点
  • 邯郸网站设计怎么用商标网官方查询官网
  • 站群管理系统wordpress中文标签云
  • 做logo好的网站小榄网站建设
  • 柳城网站开发企业网站功能模块
  • 温州微网站制作多少钱做网站的一些好处
  • 宝塔网站做301重定向自学考试
  • 买了一个域名如何做网站wordpress 更改数据库密码
  • 用织梦做的网站下载地址wordpress 身份认证
  • 英语培训学校网站建设多少钱wordpress 邮件写文章
  • 做视频网站赚钱嘛南京整站优化
  • 廊坊网站制作策划网站嵌入百度地图
  • 浑南区建设局网站win2012 网站建设
  • 额尔古纳网站建设手机上怎么做网站创业