MSPM0G3507——发送数据包


#include "ti_msp_dl_config.h"

#include "oled.h"
#include "stdio.h"
uint8_t Serial_TxPacket[4];				//定义发送数据包数组,数据包格式:aa bb 01 02 03 04 cc





/**
  * 函    数:串口发送一个字节
  * 参    数:Byte 要发送的一个字节
  * 返 回 值:无
  */
void Serial_SendByte(uint8_t Byte)
{
	DL_UART_Main_transmitDataBlocking(UART_0_INST  ,Byte);	//将字节数据写入数据寄存器,写入后USART自动生成时序波形
}



/**
  * 函    数:串口发送一个数组
  * 参    数:Array 要发送数组的首地址
  * 参    数:Length 要发送数组的长度
  * 返 回 值:无
  */
void Serial_SendArray(uint8_t *Array, uint16_t Length)
{
	uint16_t i;
	for (i = 0; i < Length; i ++)		//遍历数组
	{
		Serial_SendByte(Array[i]);		//依次调用Serial_SendByte发送每个字节数据
	}
}


/**
  * 函    数:串口发送数据包
  * 参    数:无
  * 返 回 值:无
  * 说    明:调用此函数后,Serial_TxPacket数组的内容将加上包头(FF)包尾(FE)后,作为数据包发送出去
  */
void Serial_SendPacket(void)
{
	Serial_SendByte(0xaa);
    Serial_SendByte(0xbb);
	Serial_SendArray(Serial_TxPacket, 4);
	Serial_SendByte(0xcc);
}



int main(void)
{

    	uint8_t str[64];
    SYSCFG_DL_init();

    NVIC_ClearPendingIRQ(UART_0_INST_INT_IRQN);                 //先清除一下中断,防止直接接入中断
    NVIC_EnableIRQ(UART_0_INST_INT_IRQN);                       //开启串口的中断



    OLED_Init();
	OLED_Fill(0x00);
    OLED_ShowStr(0,0,(unsigned char*)("MSPM0G3507"),1);

    while (1)
     {
         
        // sprintf((char *)str, "%d", a1);
        //      OLED_ShowStr(0,2, str,2);

        //       sprintf((char *)str, "%d", a2);
        //      OLED_ShowStr(0,4, str,2);

        //        sprintf((char *)str, "%d", a3);
        //      OLED_ShowStr(100,0, str,2);

        //         sprintf((char *)str, "%d", b);
        //      OLED_ShowStr(0,6, str,2);

        //      b++;


        //      DL_UART_Main_transmitDataBlocking(UART_0_INST  ,0x01);              //给K210发送1第一题
        //      delay_ms(1000);
        //     DL_UART_Main_transmitDataBlocking(UART_0_INST  ,2);              //给K210发送2第二题
        //      delay_ms(1000);

            Serial_TxPacket[0] =0x11;		//测试数据自增
			Serial_TxPacket[1] =11;
			Serial_TxPacket[2] ='11';
			Serial_TxPacket[3] =0xaa;
            Serial_SendPacket();
            delay_ms(2000);
    }
}



//无论发的是什么,最后都会转化成16进制的东西进行发送

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值