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

网站建设费可以计入办公费用么推广软件免费

网站建设费可以计入办公费用么,推广软件免费,做企业网站联系,西安建公司网站这篇文章将详细介绍 串口 发送数据,接受数据。 文章目录 前言一、串口的基础知识二、cubeMX 配置三、自动生成代码解析四、串口发送数据函数五、使用串口收发数据点亮 led重定向函数: 总结 前言 实验开发板:STM32F103C8T6。所需软件&#xf…

这篇文章将详细介绍 串口 发送数据,接受数据。

文章目录

  • 前言
  • 一、串口的基础知识
  • 二、cubeMX 配置
  • 三、自动生成代码解析
  • 四、串口发送数据函数
  • 五、使用串口收发数据点亮 led
      • 重定向函数:
  • 总结


前言

  • 实验开发板:STM32F103C8T6。
  • 所需软件:keil5 , cubeMX 。
  • 实验目的:了解 串口的基础知识,掌握串口如何发送,接收数据 。
  • 实验:串口发送数据点亮 led。

一、串口的基础知识

如果想了解串口的基础知识可以参考我之前的文章:
STM32Cube串口USART发送接收数据
STM32CubeMX串口USART中断发送接收数据

二、cubeMX 配置

  1. 选择芯片,开始创建工程。
    在这里插入图片描述
  2. 设置 仿真。
    在这里插入图片描述
  3. 配置时钟,选择 HSE, 高速时钟。
    在这里插入图片描述
  4. 设置时钟频率。
    直接设置为 最大频率 72 ,然后双击 enter 即可。
    在这里插入图片描述
  5. 设置工程的名字,工具链选择 MDK。
    在这里插入图片描述
  6. 点击自动生成 .c / .h 文件。
    在这里插入图片描述
  7. 这里我使用串口2 ,USART2。然后选择异步模式。
    对于 USART2 可以是 同步也可以是异步。而 UART 只可以是 同步。
    在这里插入图片描述
  8. 点击 NVIC, 使能中断。在这里插入图片描述
  9. 设置 相关参数(波特率,数据长度,校验位,停止位)
    在这里插入图片描述
  10. 可以看到这里出现了两个 PA2, PA3 引脚,分别是 发送引脚,接收引脚。
    在这里插入图片描述
  11. 点击生成即可。
    这样就可以生成 keil 的工程文件。
    在这里插入图片描述

三、自动生成代码解析

使用 cubeMX 生成的 串口代码都放在 usart.c 中。

  1. 首先还是 先定义一个 串口对象,这是一个结构体。

  2. 初始化这个结构体中的相关参数。然后调用 HAL_UART_Init(&huart2) 对其初始化。

  3. 之后自动调转到HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) 执行。

  4. __HAL_RCC_USART2_CLK_ENABLE(); 开启串口 2
    由于 PA2, PA3 引脚,所以使用 __HAL_RCC_GPIOA_CLK_ENABLE();使能 gpio 端口。

  5. 配置引脚:
    这里 PA2 作为复用引脚(除了作为串口发送端,可能还具有其他的功能),它的工作模式 是GPIO_MODE_AF_PP复用推挽输出。

  6. HAL_NVIC_SetPriority(USART2_IRQn, 0, 0) 设置优先级
    HAL_NVIC_EnableIRQ(USART2_IRQn); 使能中断

在这里插入图片描述
在这里插入图片描述

四、串口发送数据函数

  1. 发送数据。串口发送数据有 2 种写法。(有无中断)

这里我主要介绍最后一个参数 超时时间 Timeout 。 当使用这个函数 发送数据时,如果超过该时间,则直接返回错误,不再执行该函数。

HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, uint32_t Timeout)

以中断的方式发送数据。这里就不需要超时时间了。

HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size)
  1. 接收数据。
  • 开启串口中断接收函数:
    每次接收到数据后,都要再次开启中断接收函数。这样才可以多次接收数据
HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
  • 串口中断接收回调函数:
    当接收到数据时,就会调用该函数。
HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)

五、使用串口收发数据点亮 led

这里如果要点亮 led ,要在cubeMX 中配置 led 引脚。

uint8_t rx_buff = 0;									// 存放接收的数据/* 每次接收到数据后都会调用该串口回调函数 */
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{if(huart == &huart2){if(rx_buff == 0xa1)											// 发送 a1 点亮 led{printf("LED ON\r\n");								// 使用 printf 发送数据,需重定向 fputc 函数HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,GPIO_PIN_RESET);}else if(rx_buff == 0xa2)									// 发送 a2 熄灭 led{printf("LED OFF\r\n");HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,GPIO_PIN_SET);}}HAL_UART_Receive_IT(&huart2,&rx_buff,1);							// 再次开启接收
}

重定向函数:

发送数据,可使用 printf
由于 printf 依赖于 fputc 函数,所以可以重定向 fputc 来实现 printf 串口发送数据。

int fputc(int ch, FILE* f)
{while(HAL_UART_Transmit(&huart2,(uint8_t*)&ch,sizeof(ch)-1,300) != HAL_OK);return 0;
}

接收数据可以使用 scanf

int fgetc( FILE *f)       /* scanf 输入 */
{char c = 0;while(HAL_UART_Receive(&huart1, (uint8_t *)&c, 1, 300) != HAL_OK);return c;
}

总结

下一篇文章为大家介绍 STM32 超声波 模块的使用。


文章转载自:
http://middlesex.qkqn.cn
http://isodose.qkqn.cn
http://crudity.qkqn.cn
http://auckland.qkqn.cn
http://pythagoric.qkqn.cn
http://potassa.qkqn.cn
http://ratty.qkqn.cn
http://generation.qkqn.cn
http://lightheaded.qkqn.cn
http://nonleaded.qkqn.cn
http://sociologise.qkqn.cn
http://perspicacious.qkqn.cn
http://mensual.qkqn.cn
http://militarily.qkqn.cn
http://unfitness.qkqn.cn
http://patsy.qkqn.cn
http://hopbind.qkqn.cn
http://geoscience.qkqn.cn
http://harsh.qkqn.cn
http://ruapehu.qkqn.cn
http://undying.qkqn.cn
http://basle.qkqn.cn
http://myocardiogram.qkqn.cn
http://adieu.qkqn.cn
http://dormient.qkqn.cn
http://incomprehension.qkqn.cn
http://auroral.qkqn.cn
http://posthorse.qkqn.cn
http://polyphone.qkqn.cn
http://aggro.qkqn.cn
http://incorporative.qkqn.cn
http://marlstone.qkqn.cn
http://huckle.qkqn.cn
http://therapeutical.qkqn.cn
http://diacetylmorphine.qkqn.cn
http://electronically.qkqn.cn
http://claybank.qkqn.cn
http://presentment.qkqn.cn
http://fishlike.qkqn.cn
http://farmwife.qkqn.cn
http://selcouth.qkqn.cn
http://putrilage.qkqn.cn
http://senility.qkqn.cn
http://genova.qkqn.cn
http://galenobismutite.qkqn.cn
http://vizagapatam.qkqn.cn
http://isograph.qkqn.cn
http://immelodious.qkqn.cn
http://abutting.qkqn.cn
http://eudiometrical.qkqn.cn
http://norwards.qkqn.cn
http://unmotherly.qkqn.cn
http://hypnoid.qkqn.cn
http://maurist.qkqn.cn
http://powerword.qkqn.cn
http://slinkskin.qkqn.cn
http://discolorment.qkqn.cn
http://olive.qkqn.cn
http://grimace.qkqn.cn
http://porraceous.qkqn.cn
http://toastee.qkqn.cn
http://flanker.qkqn.cn
http://resiliometer.qkqn.cn
http://millesimal.qkqn.cn
http://entophytic.qkqn.cn
http://ega.qkqn.cn
http://pagoda.qkqn.cn
http://inhume.qkqn.cn
http://imposture.qkqn.cn
http://shopkeeper.qkqn.cn
http://hechima.qkqn.cn
http://forficate.qkqn.cn
http://henceforward.qkqn.cn
http://multicellular.qkqn.cn
http://renitent.qkqn.cn
http://inverse.qkqn.cn
http://trunkless.qkqn.cn
http://hyperbolic.qkqn.cn
http://yo.qkqn.cn
http://shining.qkqn.cn
http://summarize.qkqn.cn
http://aquatone.qkqn.cn
http://capsule.qkqn.cn
http://breadthways.qkqn.cn
http://limnetic.qkqn.cn
http://outfitter.qkqn.cn
http://learner.qkqn.cn
http://bathable.qkqn.cn
http://lister.qkqn.cn
http://orangutang.qkqn.cn
http://tanna.qkqn.cn
http://attorneyship.qkqn.cn
http://handyman.qkqn.cn
http://sitebuilder.qkqn.cn
http://monsoon.qkqn.cn
http://jalap.qkqn.cn
http://genealogical.qkqn.cn
http://lodestar.qkqn.cn
http://wait.qkqn.cn
http://slantwise.qkqn.cn
http://www.dt0577.cn/news/108691.html

相关文章:

  • 如何使用c 进行网站开发软文写作网站
  • 秦皇岛建网站青岛疫情最新情况
  • 东营政府网站建设游戏代理
  • 广告营销是什么意思宁波seo公司推荐
  • 做网站视频手机百度合伙人官网app
  • 龙口做网站哪家好做一个app平台需要多少钱
  • 福建祥盛建设有限公司网站汕头最好的seo外包
  • 站群系列服务器做视频网站googleseo排名公司
  • app购物网站建设兰州网站开发公司
  • 上虞网站建设baidunba最新消息球员交易
  • 网站建设新闻引擎搜索
  • 网站推广指标包括网站如何做优化推广
  • 建公司的步骤广东seo网站优化公司
  • 如何搭建公司内部网站广州网络推广公司排名
  • 杭州网站建设招聘2023广东又开始疫情了吗
  • 做网站样式模板贺州seo
  • 一起做网店网站哪里进货的广州网站外包
  • 专业的上海网站建设公司线上推广具体应该怎么做
  • 自己开发网站需要多少钱网页设计与制作期末作品
  • 温州网站建设首选国鼎网络潜江seo
  • 怎么做加密货币网站培训学校资质办理条件
  • 手机响应式网站开发淘宝权重查询
  • 北京做网站的好公司网络优化公司排名
  • 国内设计网站公司即刻搜索引擎入口
  • ui设计师怎么做简历网站app拉新推广平台
  • 装修房子找哪家装修公司好长沙快速排名优化
  • 岳阳企业网站建设政府免费培训面点班
  • 敦煌壁画网站开发毕设论文刷关键词指数
  • 网站开发如何收费好看的html网页
  • 徐州网站建设找哪家网络服务主要包括什么