stm32f103 USART2的发送问题

[复制链接]
2250|5
 楼主| 一抹笑zZ 发表于 2019-1-18 10:14 | 显示全部楼层 |阅读模式
用单片机发送aa 00 00 55 67 67,串口只能接收aa 00 55 67 67,少一个0以下是发送的测试程序,求大神指点一下

//        SendString(USART2,table,6);
                USART_SendData(USART2,0xaa);
                delay_us(11);
                USART_SendData(USART2,0);
                delay_us(10);
                USART_SendData(USART2,0);
                delay_us(10);
                USART_SendData(USART2,0x55);
                delay_us(10);
                USART_SendData(USART2,0x67);
                delay_us(10);
                USART_SendData(USART2,0x67);
                delay_us(10);



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
ningling_21 发表于 2019-1-18 10:37 | 显示全部楼层
发送函数是否有问题
 楼主| 一抹笑zZ 发表于 2019-1-18 10:52 | 显示全部楼层
ningling_21 发表于 2019-1-18 10:37
发送函数是否有问题

就是库源码

void USART_SendData(USART_TypeDef* USARTx, uint16_t Data)
{
  /* Check the parameters */
  assert_param(IS_USART_ALL_PERIPH(USARTx));
  assert_param(IS_USART_DATA(Data));
   
  /* Transmit Data */
  USARTx->DR = (Data & (uint16_t)0x01FF);
}
ningling_21 发表于 2019-1-18 11:06 | 显示全部楼层
一抹笑zZ 发表于 2019-1-18 10:52
就是库源码

void USART_SendData(USART_TypeDef* USARTx, uint16_t Data)

发送数据需要延时,如果延时不够就会发送失败
ningling_21 发表于 2019-1-18 11:07 | 显示全部楼层
一抹笑zZ 发表于 2019-1-18 10:52
就是库源码

void USART_SendData(USART_TypeDef* USARTx, uint16_t Data)

void Usart_SendByte( USART_TypeDef * pUSARTx, uint8_t ch)
{
        /* ·¢ËÍÒ»¸ö×Ö½ÚÊý¾Ýµ½USART */
        USART_SendData(pUSARTx,ch);
               
        /* µÈ´ý·¢ËÍÊý¾Ý¼Ä´æÆ÷Ϊ¿Õ */
       
        while (USART_GetFlagStatus(pUSARTx, USART_FLAG_TC) == RESET);       
}
 楼主| 一抹笑zZ 发表于 2019-1-18 11:30 | 显示全部楼层
ningling_21 发表于 2019-1-18 11:07
void Usart_SendByte( USART_TypeDef * pUSARTx, uint8_t ch)
{
        /* ·¢ËÍÒ»¸ö×Ö½ÚÊý¾Ýµ ...

非常感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

160

帖子

0

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