[STM8] 发送HEX文件的程序

[复制链接]
1390|10
 楼主| morrisk 发表于 2019-6-16 14:31 | 显示全部楼层 |阅读模式
请教下  STM8单片机串口UART1发送16进制HEX文件的程序怎么写,例如发送 5A A5 08 83 00 18 01 04 57 0b b6,怎么写  不胜感激啊。回答的好有重谢
xxmmi 发表于 2019-6-16 14:34 | 显示全部楼层
void Init_UART1(void)  
{      
  CLK_PCKENR1 |= 0X04;  //使能USART1时钟   
   
  UART1_CR1=0x00;  
  UART1_CR2=0x00;  
  UART1_CR3=0x00;  
  // 必须先写BRR2  
  // 例如对于波特率位115200时,分频系数=16000000/115200=139  
  // 对应的十六进制数为008B,BBR1=08,BBR2=0B  
   
  UART1_BRR2=0x0B;  
  UART1_BRR1=0x08;  
   
  UART1_CR2=0x2c;//允许接收,发送,开接收中断  
}  

void SendChar(u8 dat)  
{  
  while((UART1_SR & 0x80)==0x00);  
  UART1_DR = dat;  
}

main()
{
  u8 a[] = {0x5A,0xA5,0x08,0x83,0x00,0x18,0x01,0x04,0x57,0x0b,0xb6};
  u8 i;
  Init_UART1();
  for(i=0; i<11; i++)
  {
    SendChar(a[i]);
  }
}

对楼主笑而不语
kangzj 发表于 2019-6-16 14:37 | 显示全部楼层
楼上很对,你直接发送就是了。
gongche 发表于 2019-6-16 14:40 | 显示全部楼层
请问楼主不是要写串口程序吗?
gongche 发表于 2019-6-16 14:48 | 显示全部楼层
读取后的数据,直接放串口发出去就是的。
 楼主| morrisk 发表于 2019-6-16 14:50 | 显示全部楼层

嗯,我再好好缕一缕吧,有了好消息及时通知大家,结贴喽
hanzhen654 发表于 2019-6-16 19:30 | 显示全部楼层
定义一个buf  循环往buf里面填充数据就好啊,不难
hanzhen654 发表于 2019-6-16 19:30 | 显示全部楼层
可以参考下正点原子的串口发送和接受程序
小灵通2018 发表于 2019-6-16 22:20 | 显示全部楼层
直接发不就是了。
天灵灵地灵灵 发表于 2019-6-16 22:48 | 显示全部楼层
其实要看你接收后怎么处理,发送很容易
天灵灵地灵灵 发表于 2019-6-16 22:48 | 显示全部楼层
如果HEX是文本内容,那直接发送文本,接收文本就行了。如果是原数据,那接收后怎么保存,至关重要
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

6879

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部