极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13532|回复: 2

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

[复制链接]
发表于 2014-5-31 14:25:05 | 显示全部楼层 |阅读模式
买了一块功能模块
需要与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[i]);
        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[i]);
      delay(1);
    }


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

使用道具 举报

发表于 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
使用这个函数Serial.write(buf, len);

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

谢谢您的提醒,已经成功了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-19 17:27 , Processed in 0.037235 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表