• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

MSP432(Keil5)——10.通过匿名上位机看数据

武飞扬头像
大写的小写字母
帮助1

学新通

使用过匿名上位机的朋友应该知道,这个软件还是做的十分不错的,加之其可以通过串口将数据发送到电脑上,完成波形的显示,十分有效。
学新通

本次例程将完成在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
系列文章
更多 icon
同类精品
更多 icon
继续加载