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

为什么做电商网站百度推广怎么做

为什么做电商网站,百度推广怎么做,wordpress打造论坛,网页制作教程好看视频知不足而奋进 望远山而前行 目录 文章目录 前言 学习目标 学习内容 开发流程 串口功能配置 串口功能开启 串口中断配置 串口参数配置 查询配置结果 发送功能测试 中断接收功能测试 printf配置 DMA收发 配置 DMA发送 DMA接收(方式1) DMA接收(方式2) 总结 前言…

知不足而奋进 望远山而前行


目录

文章目录

前言

学习目标

学习内容

开发流程

串口功能配置

串口功能开启

串口中断配置

串口参数配置

查询配置结果

发送功能测试

中断接收功能测试

printf配置

DMA收发

配置

DMA发送

DMA接收(方式1)

DMA接收(方式2)

总结


前言

在嵌入式系统开发中,掌握串口通信是至关重要的一环。串口通信作为微控制器与外部设备或其他微控制器之间的主要通信方式,在各种嵌入式应用中起着重要作用。本文将介绍如何通过STM32CubeMX配置串口功能,并掌握串口发送、接收以及使用DMA进行数据传输的方法。同时,我们还将讨论如何配置printf函数,使其能够在串口上输出调试信息,以及如何处理串口接收中断。通过学习这些内容,读者将能够在嵌入式系统开发中更加灵活地应用串口通信功能。


学习目标

  • 熟悉STM32CubeMX配置流程
  • 掌握串口发送和接收
  • 掌握串口DMA发送和DMA接收
  • 掌握printf配置

学习内容

开发流程

  1. 配置芯片串口功能
  2. 编写串口代码
  3. 调试

串口功能配置

串口功能开启

  • Connectivity下选择合适的串口,这里选择USART1
  • 配置模式为异步,Asynchronous
串口中断配置

  • NVIC Settings下,打开串口中断。
串口参数配置

  • Parameter Settings中,根据情况配置串口的参数。
查询配置结果

GPIO Setting中可以显示默认的IO引脚

右侧芯片引脚部分会显示配置的结果。

发送功能测试

/* USER CODE BEGIN WHILE */
uint8_t cnt = 0;
while (1)
{HAL_UART_Transmit(&huart1, &cnt, 1, HAL_MAX_DELAY);cnt++;HAL_Delay(1000);/* USER CODE END WHILE *//* USER CODE BEGIN 3 */
}

通过HAL_UART_Transmit函数发送数据。

中断接收功能测试

/* USER CODE BEGIN WHILE */
HAL_UART_Receive_IT(&huart1, usart1_buffer, USART1_BUFFER_LEN);
while (1)
{/* USER CODE END WHILE *//* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
/* USER CODE BEGIN 0 */
#define USART1_BUFFER_LEN 1
uint8_t usart1_buffer[USART1_BUFFER_LEN];void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) {HAL_UART_Transmit(&huart1, (const uint8_t *)usart1_buffer, USART1_BUFFER_LEN, HAL_MAX_DELAY);// 开启中断接收HAL_UART_Receive_IT(&huart1, usart1_buffer, USART1_BUFFER_LEN);
}
/* USER CODE END 0 */

接收任意个字节

触发空闲中断接收

HAL_UARTEx_ReceiveToIdle_IT(&huart1, usart_buffer, RX_BUF_LEN); // 常用

使用Idle空闲中断回调

void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size){usart_buffer[Size] = '\0';printf("callback2: %s\n", usart_buffer);HAL_UARTEx_ReceiveToIdle_IT(&huart1, usart_buffer, RX_BUF_LEN); // 常用
}

printf配置

#include <stdio.h>
int fputc(int ch, FILE* f) {HAL_UART_Transmit(&huart1, (uint8_t *)&ch,1, 0xFFFF);return ch;
}

注意:如果加了printf无法打印日志,记得在 options 里勾选 MicroLIB

DMA收发

配置

DMA发送
/* USER CODE BEGIN WHILE */
uint8_t cnt = 0;
while (1)
{HAL_UART_Transmit_DMA(&huart1, &cnt, 1);cnt++;HAL_Delay(1000);/* USER CODE END WHILE *//* USER CODE BEGIN 3 */
}
DMA接收(方式1)
  • 触发接收
HAL_UART_Receive_DMA(&huart1, usart_buffer, RX_BUF_LEN); //  常用!
  • 接收回调函数
#define RX_BUF_LEN    12
uint8_t usart_buffer[RX_BUF_LEN + 1];void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){// 为了打印字符串usart_buffer[RX_BUF_LEN] = '\0';printf("callback1: %s\n", usart_buffer);// 再次启用中断接收(收到指定个字节才执行)HAL_UART_Receive_DMA(&huart1, usart_buffer, RX_BUF_LEN);  // 常用!}
DMA接收(方式2)

通过空闲中断事件接收,即发生空闲了才进行数据处理

  • 触发接收
HAL_UARTEx_ReceiveToIdle_DMA(&huart1, usart_buffer, RX_BUF_LEN); // 常用!!!
  • 接收回调函数
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size){// 为了打印字符串usart_buffer[Size] = '\0';printf("callback2[%d]: %s\n", Size, usart_buffer);// 再次启用接收(RX_BUF_LEN为最大接收数量)HAL_UARTEx_ReceiveToIdle_DMA(&huart1, usart_buffer, RX_BUF_LEN);  // 常用!}

总结

通过本文的学习内容,读者可以熟悉STM32CubeMX的串口配置流程,掌握串口发送和接收的基本方法,并了解如何使用DMA进行串口数据传输。在串口发送功能测试中,通过HAL_UART_Transmit函数实现了简单的数据发送;在中断接收功能测试中,通过HAL_UART_Receive_IT函数实现了中断接收,并介绍了触发空闲中断接收的方法。此外,还讨论了如何配置printf函数,使其能够在串口上输出调试信息。最后,通过DMA收发部分的介绍,读者可以了解如何配置DMA进行高效的串口数据传输,包括DMA发送和DMA接收的两种方式。通过这些学习内容,读者将能够在嵌入式系统开发中灵活运用串口通信功能,为实际应用开发提供技术支持。

http://www.hkea.cn/news/477905/

相关文章:

  • 北京东直门+网站建设汕头seo外包平台
  • 长沙 做网站企业网络组网设计
  • 北京哪家做网站优化产品seo基础优化
  • 招商加盟网站建设百度网址安全检测
  • 知名做网站费用2024年将爆发新瘟疫
  • 河北省城乡与建设厅网站企业关键词排名优化哪家好
  • 网站开发合同协议百度百科推广费用
  • 推荐黄的网站产品推广策划
  • 济南网站建设设计公司线上运营推广
  • 小清新 wordpressseo排名是什么意思
  • 从客户—管理者为某一公司做一份电子商务网站管理与维护的方案自媒体是如何赚钱的
  • 黑龙江住房和城乡建设厅网站首页每日精选12条新闻
  • 做网站工作都包括什么企业网站搭建
  • 自己可以进行网站建设吗河北网站推广
  • 网站建设与管理论文seo整站怎么优化
  • 西安做网站收费价格网站流量监控
  • 福州网站制作有限公司南京疫情最新情况
  • 国外品牌设计网站天津疫情最新消息
  • 宁波有做网站的地方吗seo报价单
  • 深圳企业网站开发中国法律服务网app最新下载
  • 大连企业网站建站国外域名注册网站
  • 站长工具seo综合查询权重百度在线搜索
  • 伊犁网站建设评价怎样才能上百度
  • 房地产网站建设方案百度实名认证
  • 做外贸可以在哪些网站注册网络项目免费的资源网
  • 中国建设银行信用卡网站首页青岛关键词优化平台
  • 阿里云网站建设考试题目长沙网站推广服务公司
  • 甘肃建设项目审批权限网站俄罗斯搜索引擎yandex官网入口
  • 网站建设公司新员工培训ppt模板百度热门搜索排行榜
  • 仿魔客吧网站模板网址大全是ie浏览器吗