兜想 发表于 2014-5-31 14:25:05

USART_SendData函数移植到arduino上应该怎么写?

买了一块功能模块
需要与arduino进行串口通信,但是原代码给的是STM32开发板的源代码
用的是USART_SendData函数进行通信
但是我对STM32编程不大熟,尝试修改一下在arduino 2560上使用发现没有效果,请大家帮忙看看


原代码
typedef uint8_t u8;

void SendData(u8 *data,u8 length)
{
    u8 i;
    for(i=0;i<length;i++)
    {
      USART_SendData(USART2, data);
      while(USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET)//等得发送完成
      {
      }
    }
}

移植到arduino后的函数
typedef uint8_t u8;

void SendData(u8 *data,u8 length){
    u8 i;
    for(i=0;i<length;i++){
      Serial3.print(data);
      delay(1);
    }


需要发送的数组为    u8 InfraredCommands_Study={0xAA,0x00,0x0B,0x0B,0x00,0xAA};
函数调用为    SendData(InfraredCommands_Study,6);

Arduin0 发表于 2014-5-31 20:52:35

使用这个函数Serial.write(buf, len);

你不必去写这个SendData函数了,Arduino的Serial类已经帮你写好了
你要做的就是使用:
Serial.write(InfraredCommands_Study, sizeof(InfraredCommands_Study));
把数据发出去就好了·

兜想 发表于 2014-6-1 01:13:28

Arduin0 发表于 2014-5-31 20:52 static/image/common/back.gif
使用这个函数Serial.write(buf, len);

你不必去写这个SendData函数了,Arduino的Serial类已经帮你写好了 ...

谢谢您的提醒,已经成功了!
页: [1]
查看完整版本: USART_SendData函数移植到arduino上应该怎么写?