freertos作业day2

1.总结串口的发送和接收功能使用到的函数

1.)

HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart,

        const uint8_t *pData,

        uint16_t Size,

        uint32_t Timeout);

osThreadId_t:返回创建任务的ID

osThreadFunc_t:void (*osThreadFunc_t) (void *argument):函数指针类型,任务的入口函数

void *argument:传递给任务入口函数的参数

const osThreadAttr_t *attr:用于描述任务的属性

eg:HAL_UART_Transmit(&huart1, "Hello World\r\n", sizeof("Hello World\r\n") - 1, 1000);

2.)

int fputc(int ch, FILE* f)//将printf串口重定向

{ unsigned char HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, 1000);//重新实现fputc发送一个字符的功能

return ch; }

3.)

HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)

UART_HandleTypeDef *huart:从哪个串口中接收数据

uint8_t *pData:数据保存的地址

uint16_t Size:一次需要接收多少个字节数据

HAL_StatusTypeDef:是否成功开启串口接收

调用该函数接收到数据后会进入中断处理函数执行相关操作代码

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)//中断处理函数原型

2.总结DMA的作用,和DMA+空闲中断的使用方式

DAM是受CPU指令来处理数据的控制器,调用DAM后,相关功能由DMA控制器实现,CPU只有执行这条代码的消耗而无需进行数据处理,可以直接继续执行下面的代码

HAL_UART_Transmit_DMA(&huart1, "dwa", 10000);

HAL_UARTEx_ReceiveToIdle_DMA(&huart1, Rx_data, 100);//DMA的中断处理函数

void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)//DMA的接受函数,接收后空隙触发空闲中断,空闲中断后要再次调用本函数,才能继续接受串口数据,触发空闲终端。


3.使用PWM+ADC光敏电阻完成光控灯的实验

      double a=0;

      HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_3);
      while (1)
      {
		

		HAL_ADC_Start(&hadc);//打开ADC采样
		//获取adc采样值
		ADC_Value= HAL_ADC_GetValue(&hadc);
		a=999-(ADC_Value/4095.0f*999.0f);
		TIM3->CCR3=a;
		printf("adc:%d,%lfv\r\n",ADC_Value,((double)ADC_Value/4096*3.3));
		HAL_Delay(50);
      }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/553811.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第47篇:简易处理器<一>

Q:本期我们开始介绍一种数字系统----简易处理器,可以执行由指令指定的各种操作。 A:简易处理器包含多个9位寄存器、一个数据选择器、一个加/减法器单元和一个控制单元(有限状态机)。 数据选择器:可以将输入数据加载到各种寄存器&…

Linux(磁盘管理与文件系统)

目录 1. 磁盘基础 1.1 磁盘结构 1.2 MBR 1.3 磁盘分区结构 2. 文件系统类型 2.1 XFS文件系统 2.2 SWAP 2.3 fdisk命令 2.4 创建新硬盘 3.创建文件系统 3.1 mkfs 3.2 挂载、卸载文件系统 3.3 查看磁盘使用情况 1. 磁盘基础 1.1 磁盘结构 磁盘的物理结构 盘片:硬…

活动理论的散点图

import pandas as pd import matplotlib.pyplot as plt# 假设您已经有一个名为 data.xlsx 的 Excel 文件 # 您可以使用以下代码读取数据# 读取 Excel 文件 try:data pd.read_excel(data.xlsx) except Exception as e:print(f"Error: {e}")# 假设您的数据包含以下列:…

网络安全事件频发,让态势感知来提前洞察快速防护

一、引言 随着信息技术的飞速发展,网络安全问题日益凸显,成为社会各界普遍关注的焦点。近年来,网络安全事件频发,给个人、企业乃至国家带来了严重的损失。这些事件不仅揭示了网络安全领域的严峻挑战,也敲响了信息安全…

使用Docker,【快速】搭建个人博客【WordPress】

目录 1.安装Mysql,创建(WordPress)用的数据库 1.1.安装 1.2.创建数据库 2.安装Docker 3.安装WodPress(使用Docker) 3.1.创建文件夹 3.2.查看镜像 3.3.获取镜像 3.4.查看我的镜像 3.5.使用下载的镜像&#xf…

SFusion论文速读

SFusion: Self-attention Based N-to-One Multimodal Fusion Block 摘要 人们用不同的感官感知世界,例如视觉、听觉、嗅觉和触觉。处理和融合来自多种模式的信息使人工智能能够更轻松地理解我们周围的世界。然而,当缺少模态时,可用模态的数…

group by 多字段分组查询和 order by

直接看试验步骤就知道了. 表 一.单列group by 执行单列group by语句 SELECT name, COUNT(1) count FROM nomol GROUP BY name 执行结果 我们发现他把原始表分为了两个小组,狗狗小组和猫猫小组。从这可以看出分组查询就是把相同的数据分到一个组 . 二.多列group …

陇剑杯 ios 流量分析 CTF writeup

陇剑杯 ios 流量分析 链接:https://pan.baidu.com/s/1KSSXOVNPC5hu_Mf60uKM2A?pwdhaek 提取码:haek目录结构 LearnCTF ├───LogAnalize │ ├───linux简单日志分析 │ │ linux-log_2.zip │ │ │ ├───misc日志分析 │ │…

在STM32中给固定的地址写入一个值,并通过memory窗口进行查看

首先对STM32中存储数据的地方有一个了解 一个是FLASH,一个是RAM RAM是易失存储器,FLASH是非易失存储器,这是最直观的解释。 主要记住以下几点: RAM(随机存储器):既可以从中读取数据,也可以写…

乘风破浪,川流入海 —— LLM在阿里妈妈智能文案的应用

1.引言 在现代广告系统中,文案是不可或缺的一部分,几乎参与了广告素材的各个地方。随着NLP技术的极速发展,广告主逐渐学会并习惯使用文案生成工具直接或者间接的参与到广告的制作中,这为NLP技术在广告场景的应用提供了巨大的潜力和…

网络基础-基于TCP协议的Socket通讯

一、Socket通讯基于TCP协议流程图 UDP 的 Socket 编程相对简单些不在介绍。 二、 服务端程序启动 服务端程序要先跑起来,然后等待客户端的连接和数据。 服务端程序首先调用 socket() 函数,创建网络协议为 IPv4,以及传输协议为 TCP 的…

LearnOpenGl练习题-着色器

LearnOpenGl练习题-着色器 题目地址:着色器 - LearnOpenGL CN 题目一:修改顶点着色器让三角形上下颠倒: #version 330 core layout (location 0) in vec3 aPos; layout (location 1) in vec3 aColor; out vec3 ourColor; void main() {gl…

Swift Publisher 5 for mac:打造精美版面

Swift Publisher 5 for mac:打造精美版面 Swift Publisher 5是一款专业的版面设计和编辑工具,为Mac用户提供了强大的设计功能和直观的操作界面。以下是关于Swift Publisher 5的功能介绍: 直观易用的界面:用户能够轻松地使用Swift …

《人工智能》文档715篇,文档非常详细,云盘下载

人工智能未来的前景十分广阔,随着技术的不断发展,越来越多的人工智能应用将会出现在我们的生活中,在以下方面有着广泛的应用:《人工智能》文档715篇,文档非常详细,值得收藏 下载地址: 链接&…

浅析LED节能原理

随着全球对节能环保意识的增强,LED显示屏行业也在积极探索更加节能的生产和使用方式。作为显示屏制造厂家,了解和应用LED节能原理不仅是市场的需求,也是企业履行社会责任的表现。本文将浅析LED节能原理及其在显示屏制造中的应用。 LED节能的基…

数据库技术基础

根据希赛相关视频课程汇总整理而成,个人笔记,仅供参考。 基本概念 数据库通常是指有组织地、动态地存储在(外存上的相互联系的数据的集合)应用数据库主要目的是解决数据(共享)问题。 三级模式/两级映像&a…

云闪付支付通道接口申请

云闪付支付通道接口申请 云闪付支付通道申请是许多商家都希望完成的一项任务,因为它代表着更多的支付选择,更广泛的用户覆盖和更高的交易安全性。申请云闪付支付通道并不仅仅是一个简单的步骤,它需要商家对自身的业务有深入的了解&#xff0c…

代码随想录阅读笔记-回溯【N皇后】

题目 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。 每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 Q 和 . 分别代表…

【笔记】Telephony SIM SPN及运营商名称显示数据来源介绍

来源介绍 网络名称显示 来源及优先级(高到低) SourceCommentEnhanced Operator Name String(Eons) 名称信息存放: EF_PNN(PLMN Network Name, fid: 6FC5) :LAC和EF_PNN中的Record Identifier EF_OPL(Operator PLMN List, fid: 6FC…

数字工厂系统的开发

数字工厂系统(Digital Factory System,DFS)是基于数字孪生技术(Digital Twin Technology)和信息物理融合系统(Cyber-Physical System,CPS)构建的,用于仿真、分析和优化制…