打印
[STM8]

发送HEX文件的程序

[复制链接]
1149|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 | 只看该作者
请问楼主不是要写串口程序吗?

使用特权

评论回复
5
gongche| | 2019-6-16 14:48 | 只看该作者
读取后的数据,直接放串口发出去就是的。

使用特权

评论回复
6
morrisk|  楼主 | 2019-6-16 14:50 | 只看该作者

嗯,我再好好缕一缕吧,有了好消息及时通知大家,结贴喽

使用特权

评论回复
7
hanzhen654| | 2019-6-16 19:30 | 只看该作者
定义一个buf  循环往buf里面填充数据就好啊,不难

使用特权

评论回复
8
hanzhen654| | 2019-6-16 19:30 | 只看该作者
可以参考下正点原子的串口发送和接受程序

使用特权

评论回复
9
小灵通2018| | 2019-6-16 22:20 | 只看该作者
直接发不就是了。

使用特权

评论回复
10
天灵灵地灵灵| | 2019-6-16 22:48 | 只看该作者
其实要看你接收后怎么处理,发送很容易

使用特权

评论回复
11
天灵灵地灵灵| | 2019-6-16 22:48 | 只看该作者
如果HEX是文本内容,那直接发送文本,接收文本就行了。如果是原数据,那接收后怎么保存,至关重要

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

6879

帖子

2

粉丝