datasheet

STM32 HAL库串口发送多字节数据

2019-06-18来源: eefocus关键字:STM32  HAL库  串口发送  多字节数据

串口发送16字节数据


int16_t MotorEncoder;

uint8_t low,high;

high=(uint8_t)(MotorEncoder>>8);

low=(uint8_t)(MotorEncoder&0xFF);

HAL_UART_Transmit(&huart1 , &low, 1, 0xff);

HAL_UART_Transmit(&huart1 , &high, 1, 0xff);


串口发送32字节数据


int32_t MotorEncoder;

uint8_t code[4];

code[0]=(uint8_t)(MotorEncoder>>24);

code[1]=(uint8_t)(MotorEncoder>>18&0xFF);

code[2]=(uint8_t)(MotorEncoder>>12&0xFF);

code[3]=(uint8_t)(MotorEncoder&0xFF);

HAL_UART_Transmit(&huart1 , code, 4, 0xff);

串口发送过程无关有无符号。

对于小数,定点数可以强制转换为对应的16/32位数据发送。



关键字:STM32  HAL库  串口发送  多字节数据

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic465083.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM32F4定时器时钟频率和时钟源
下一篇:STM32HAL----USB模拟串口(VPC)

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM32使用FreeRTOS中的链表创建节点与列表项

使用了STM32F103的FreeRTOS库来创建一个列表,其实FreeRTOS的list中链表是双向的循环链表,为了简单介绍,我直接说是列表了。 芯片使用的是GD32F103CBT6,该芯片兼容ST的库,不影响使用效果。 以下代码不全,仅提供思路,如有不足,请给我留言。第一步先定义变量,初始化列表及列表项nodeDevice node_t; //节点数据nodeDevice * pNode; //节点指针 xList list_t; //列表#define pList ((xList *) &list_t) //列表指针 xListItem item_t; //列表
发表于 2019-07-18

FreeRTOS学习笔记——基础知识与移植(STM32F103)

添加文件打开基础工程,新建分组FreeRTOS_CORE 和FreeRTOS_PORTABLE,然后向这两个分组中添加文件,如图2.2.1.4 所示:分组FreeRTOS_CORE 中的文件在什么地方就不说了,打开FreeRTOS 源码一目了然。重点来说说FreeRTOS_PORTABLE 分组中的port.c 和heap_4.c 是怎么来的,port.c 是RVDS 文件夹下的ARM_CM3 中的文件,因为STM32F103 是Cortex-M3 内核的,因此要选择ARM_CM3中的port.c 文件。heap_4.c 是MemMang 文件夹中的,前面说了MemMang 是跟内存管理相关的,里面有5 个c 文件:heap_1.c
发表于 2019-07-18
FreeRTOS学习笔记——基础知识与移植(STM32F103)

STM32CubeMX+FreeRTOS实验---使用两个实例,共用一个task

, 0, 128);  LED2FlashHandle = osThreadCreate(osThread(LED2Flash), NULL);只是一个定义osThreadDef只是一个定义,把相关的内容绑在一起,不是函数。osThreadCreate才是一个函数。第二个参数就是*argument,对应StartLEDFlashTask函数的输入参数。因此在osThreadDef之前加入code。/*import user code,may be changed by stm32cubeMX*//*take attention */    uint16_t led1pin,led2pin
发表于 2019-07-18
STM32CubeMX+FreeRTOS实验---使用两个实例,共用一个task

stm32 FreeRTOS中如何创建任务

#include "config.h"#include "global.h"#include "stdio.h"#include "PC.h" #include "FreeRTOS.h"#include "task.h"#include "list.h" void vLED1Task(void *pvParameters){ while(1) { GPIO_Reverse (); vTaskDelay(1000/portTICK_RATE_MS); }}void
发表于 2019-07-18

STM32CubeMX学习笔记——FreeRTOS_任务挂起与继续

Githubhttps://github.com/HaHaHaHaHaGe/Planof2019_half/tree/master/Course_Project/FreeRTOS/Class02_SuspendResume简介任务挂起与继续的作用,用于暂停运行某些任务与继续运行某些任务。就像用视频播放器看电影的播放按键与暂停按键一样简单。在STM32CubeMX上配置FreeRTOS非常的简单,几乎不需要做任何操作,只需要勾选移植FreeRTOS就成功了,关于在非Cube上的RTOS配置文件内的相关内容,也在下方的Configuration栏中给好了所有的配置都可以在这里完成任务创建有别于在没有使用Cube下的创建方式,在Cube
发表于 2019-07-18
STM32CubeMX学习笔记——FreeRTOS_任务挂起与继续

STM32 RTOS系统 学习笔记(一)

基本概念               RTOS全称为:Real Time OS,就是实时操作系统,强调的是:实时性。实时操作系统又分为硬实时和软实时。硬实时要求在规定的时间内必须完成操作 ,硬实时系统不允许超时,在软实时里面处理过程超时的后果就没有那么严格。       在实时操作系统中,我们可以把要实现的功能划分为多个任务,每个任务负责实现其中的一部分,每个任务都是一个很简单的程序,通常是一个死循环。
发表于 2019-07-18
STM32 RTOS系统 学习笔记(一)

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved