打印

stm32f103 USART2的发送问题

[复制链接]
2126|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
用单片机发送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);



1547777547(1).jpg (34.28 KB )

1547777547(1).jpg

相关帖子

沙发
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)

发送数据需要延时,如果延时不够就会发送失败

使用特权

评论回复
5
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);       
}

使用特权

评论回复
6
一抹笑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

粉丝