2883|1

1532

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【安信可蓝牙开发板PB-02-Kit测评】串行通讯及使用 [复制链接]

串行通讯是一种主要的数据传送方式,也是在没有显示器件的情况下仅有的调试观察手段。

1. 串口通讯的初始化

要使用串口通信必须对串口进行初始化,其初始化的函数为:

int hal_uart_init(uart_Cfg_t cfg)

{

    if(m_uartCtx.enable)

      return PPlus_ERR_BUSY;

    memset(&m_uartCtx, 0, sizeof(m_uartCtx));

    if(cfg.hw_fwctrl)

      return PPlus_ERR_NOT_SUPPORTED;

    m_uartCtx.cfg = cfg;

    uart_hw_config();

    m_uartCtx.enable = TRUE;

    hal_pwrmgr_register(MOD_UART, NULL, uart_hw_config);

  return PPlus_SUCCESS;

}

2.字节数据发送

在串口通信中,最主要的函数是字节数据发送,它可以解决常规print函数所不能解决的问题,因为print函数所输出的内容通常是字符型的,而进行外设控制其指令多是二进制的指令,为此只有字节数据发送函数可以解决此类问题。

发送字节数据的函数为:

int hal_uart_send_byte(unsigned char data)

{

    HAL_WAIT_CONDITION_TIMEOUT((AP_UART0->LSR & LSR_THRE), 10000);

    AP_UART0->THR=data;

    HAL_WAIT_CONDITION_TIMEOUT((AP_UART0->LSR & LSR_TEMT), 10000);

    return PPlus_SUCCESS;

}

使用该函数可产生下图所示的输出效果,说明发送字节数据成功。

 

有了发送字节数据的基础,要想用其控制MP3语音播放模块便也不难了,只需将控制指令存放到数组中,然后按序输出即可。

当然,在输出字符串类的信息时还是使用LOG比较方便。

此帖出自无线连接论坛

最新回复

谢谢分享!   详情 回复 发表于 2021-12-16 16:41
点赞 关注(1)
 

回复
举报

7671

帖子

2

TA的资源

五彩晶圆(高级)

沙发
 

谢谢分享!

此帖出自无线连接论坛
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表