自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 Luat实现uart串口通信

-- 模块功能:串口收发,串口初始化,关闭串口-- @需要使用合宙官方lib-- @作者 wangjiaw [email protected] @版本 20210227-- @修改记录1 20210227require "utils"require "pm"module(..., package.seeall)-- 函数功能:初始化串口-- @传入参数:串口id(number),波特率(number)-- @默认数据位8,无校验,停止位1,消息通知,消息上报function Uar

2021-03-09 11:06:03 1989

原创 Luat实现socket tcp通信

以下代码需要在luat通信模块中使用建立连接后无法主动关闭,只能靠断网关闭或者服务器端关闭-- 模块功能:TCP连接,报文收发-- @需要使用合宙官方lib-- @作者 wangjiaw [email protected] @版本 20210309-- @修改记录1 20210309require "socket"module(..., package.seeall)-- 函数功能:创建tcp任务,实现tcp连接,报文收发-- @传入参数:服务器ip,端口,tcp报文发送队列,tcp

2021-03-09 10:49:38 587

原创 记录一个luat使用全局变量的坑,全局变量指针被局部重置

这是全局变量被定义的位置main.lua--自定义的全局变量UartRecvQueue = {}这是全局变量被使用的位置uart.lua--串口接收数据帧并把数据帧插入到接收队列中uart.on(UART_ID, "receive", function(uid, length) recvStr = recvStr .. uart.read(uid, length) if string.sub(recvStr, #recvStr, #recvStr) == string.cha

2021-02-27 08:39:09 409

原创 Luat number数字十进制转16十六进制字符串

loacl str = pack.pack("b", number)

2021-02-23 16:11:20 2642 1

原创 Luat Socket 发送16进制和string

本文希望阐述的问题在lua中处理 string 与 hex(十六进制数) 的思维转换背景luat在处理通信的时候,总会设计到数据处理,例如:socket:sendsocket:recvspi.sendspi.recvuart.write这些方法要么发送的string,要么返回string, 而不是使用其他编程语言的byte[]/char[], 因为lua没有byte和char什么是hex先看hex的表现形式字符串"1" 的 ASCII码是 0x31字符串"2" 的 ASCII码是

2021-02-22 09:50:48 1420

原创 stm32串口使用DMA模式接收发送数据

stm32串口使用DMA模式接收发送数据在cubeMX中调整DMA相关设置在DMA Setting里点击Add添加USART1_TX,Mode有两种模式,一种是普通模式,使用一次发送语句就发一次;另一种是循环模式,使用一次发送会一直发送。这里发送我选择普通模式,接收选择循环模式。省略之前串口相关设置,想了解的可以看我之前串口的相关文章生成代码,定义相关变量#define RXBUFFERSIZE 256 //最大接收字节数char RxBuffer[RXBUFFERSIZE

2021-02-20 11:28:02 3003 5

原创 Keil5中文乱码问题以及cubeMX重新生成代码导致中文注释乱码问题的解决方法

Keil5中文乱码问题以及cubeMX重新生成代码导致中文注释乱码问题的解决方法点击edit——>Configuration——>设置编辑器为utf-8编码打开高级系统设置,在环境变量的系统变量中添加如下变量JAVA_TOOL_OPTIONS-Dfile.encoding=UTF-8...

2021-02-20 09:59:21 1631 1

原创 STM32基于cubeMX实现定时器点灯

概述STM32的常见的定时器资源: 系统嘀嗒定时器SysTick、看门狗定时器WatchDog、实时时钟RTC、基本定时器、通用定时器、高级定时器。系统嘀嗒定时器SysTick :这是一个集成在Cortex M3内核当中的定时器,它并不属于芯片厂商的外设,也就是说使用ARM内核的不同厂商,都拥有基本结构相同的系统定时器。主要目的是给RTOS提供时钟节拍做时间基准。基本定时器:TIM6、TIM7。通用定时器:TIM2、TIM3、TIM4、TIM5。在基本定时器的基础上,实现输出比较、输入捕获、PWM生

2021-02-20 09:26:41 447

原创 STM32实现串口通信

使用cubeMX创建工程,调整串口相关设置本文章继承之前的点灯实验,有些设置做了简略,其他设置请参考点灯实验文章1点击USATR12设置MODE为异步通信(Asynchronous)3基础参数:波特率为115200 Bits/s。传输数据长度为8 Bit。奇偶检验无,停止位1 接收和发送都使能4GPIO引脚设置 USART1_RX/USART_TX5 NVIC Settings 一栏使能接收中断生成代码后打开工程通过串口发送数据uint8_t buf[] = "test\n";

2021-02-19 14:14:24 307

原创 C语言实现字符串分割

标题#include <stdio.h>#include <stdlib.h>#include <string.h>char ReceiveGPSData[100];char *GPSDataSpilt[20];int DataLen;char buf[]="$PDTINFO,UM220,G1B1,V4.1,R3.0Build13260,080101000001,000101114303845";void split(char *src,const c

2021-02-19 09:58:22 873

原创 STM32+cubeMX第一个工程,点亮LED

STM32+cubeMX第一个工程,点亮LED打开cubeMX选择new project创建一个stm32工程,芯片选择stm32f103c8t6设置HSE时钟来源为外部晶振<><>设置系统Debug接口为串口<><><><>设置时钟树<><><><>设置工程名,存储位置,开发工具<><><><&gt

2021-02-10 12:56:06 731

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除