[应用相关] [串口]:库2.0.3

[复制链接]
 楼主| LPcfANS 发表于 2009-1-15 13:44 | 显示全部楼层 |阅读模式
C:ManleyEKBoardFWLib_2.0.3examplesUSARTPrintf

库函数
void USART_SendData(USART_TypeDef* USARTx, u16 Data)
{
  /* Check the parameters */
  assert_param(IS_USART_ALL_PERIPH(USARTx));
  assert_param(IS_USART_DATA(Data)); 
    
  /* Transmit Data */
  USARTx->DR = (Data & (u16)0x01FF);
}
中应该加下面的,来判断吧?
 while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET)
     {
     }
    
lut1lut 发表于 2009-1-15 14:46 | 显示全部楼层

现在的库只是寄存器层面的封装,没有整个通信过程的封装

所以while(TxE)的判断,是要用户自己加在USART_SendData()之前的。

就像I2C一样,库里只有
void I2C_SendData(I2C_TypeDef* I2Cx, u8 Data)
{
  /* Check the parameters */
  assert_param(IS_I2C_ALL_PERIPH(I2Cx));

  /* Write in the DR register the data to be sent */
  I2Cx->DR = Data;
}

u8 I2C_ReceiveData(I2C_TypeDef* I2Cx)
{
  /* Check the parameters */
  assert_param(IS_I2C_ALL_PERIPH(I2Cx));

  /* Return the data in the DR register */
  return (u8)I2Cx->DR;
}
但是需要自己加上发送start/addr/stop才能成其为一次通信过程。
 楼主| LPcfANS 发表于 2009-1-15 14:51 | 显示全部楼层

谢谢啊....

感觉还不能叫库,残缺的库啊...
PowerGPS 发表于 2009-1-15 15:49 | 显示全部楼层

要使用DMA的库,那才好呀

 楼主| LPcfANS 发表于 2009-1-16 08:43 | 显示全部楼层

是的.不知道其他方面的库做的怎样?是否完整?

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

本版积分规则

69

主题

1614

帖子

1

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