MSP432(Keil5)——10.通过匿名上位机看数据
使用过匿名上位机的朋友应该知道,这个软件还是做的十分不错的,加之其可以通过串口将数据发送到电脑上,完成波形的显示,十分有效。
本次例程将完成在MSP432上与上位机通讯协议的编写。
在这个实例中我只完成了03号命令的发送,具体拓展可以自己修改。如果对匿名上位机不了解的话,建议先学习B站课程:传送门,一下就学会了,以后学其他的协议也很快。
ano.c
#include "ano.h"
unsigned char DataToSend[100]; //发送数组缓冲区
void ANO_Send03(short a,short b,short c,unsigned char d)
{
unsigned char cnt = 0; //地址偏移
unsigned char sc = 0; //和校验
unsigned char ac = 0; //附加校验
unsigned char i = 0;
DataToSend[cnt ] = 0XAA; //帧头
DataToSend[cnt ] = 0XFF; //目标地址
DataToSend[cnt ] = 0X03; //功能码
DataToSend[cnt ] = 7; //数据长度:int16 int16 int16 uint8 = 2 2 2 1 = 7
DataToSend[cnt ] = BYTE0(a);
DataToSend[cnt ] = BYTE1(a);
DataToSend[cnt ] = BYTE0(b);
DataToSend[cnt ] = BYTE1(b);
DataToSend[cnt ] = BYTE0(c);
DataToSend[cnt ] = BYTE1(c);
DataToSend[cnt ] = BYTE0(d);
for(i=0; i<DataToSend[3] 4; i )
{
sc = DataToSend[i]; //计算和校验
ac = sc; //计算附加校验
}
DataToSend[cnt ] = sc; //依次发送两个校验
DataToSend[cnt ] = ac;
USART0_SendStr(DataToSend,cnt); //通过串口发送数组的方式发送整个数据帧
}
ano.h
#ifndef __ANO_H
#define __ANO_H
/* DriverLib Includes */
#include <ti/devices/msp432p4xx/driverlib/driverlib.h>
#include "uart.h"
//强制指针类型转换完成字节拆分
#define BYTE0(dwTemp) (*(char *)(&dwTemp))
#define BYTE1(dwTemp) (*((char *)(&dwTemp) 1))
#define BYTE2(dwTemp) (*((char *)(&dwTemp) 2))
#define BYTE3(dwTemp) (*((char *)(&dwTemp) 3))
void ANO_Send03(short a,short b,short c,unsigned char d);
#endif
同时还需要在串口(uart.c)文件下增加几个函数:
void Uart0_SendByte(unsigned char uch_byte)
{
MAP_UART_transmitData(EUSCI_A0_BASE, uch_byte);
}
void USART0_SendStr(unsigned char *s,unsigned char cnt)
{
unsigned char i = 0;
for(i=0; i<cnt; i )
Uart0_SendByte(s[i]);
}
显示效果(没图了,手上也没单片机,放张以前的图):
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhibfjge
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22