本帖最后由 tottionly 于 2020-4-1 17:01 编辑
- en_result_t Spi_SendData(en_spi_channel_t enCh,uint8_t u8Data)
- {
- uint32_t u32TimeOut;
- ASSERT(IS_VALID_CH(enCh));
- u32TimeOut = 0xffff;
- if(Spi0 == enCh)
- {
- while(--u32TimeOut)
- {
- if(TRUE == M0P_SPI0->STAT_f.TXE)
- {
- break;
- }
- }
-
- if(u32TimeOut == 0)
- {
- return ErrorTimeout;
- }
- M0P_SPI0->DATA = u8Data;
- u32TimeOut = 0xffff;
- while(--u32TimeOut)
- {
- if(TRUE == M0P_SPI0->STAT_f.RXNE)
- {
- break;
- }
- }
- if(u32TimeOut == 0)
- {
- return ErrorTimeout;
- }
- u8Data = M0P_SPI0->DATA;
-
- }
- else
- {
- while(--u32TimeOut)
- {
- if(TRUE == M0P_SPI1->STAT_f.TXE)
- {
- break;
- }
- }
- if(u32TimeOut == 0)
- {
- return ErrorTimeout;
- }
- M0P_SPI1->DATA = u8Data;
- u32TimeOut = 0xffff;
- while(--u32TimeOut)
- {
- if(TRUE == M0P_SPI1->STAT_f.RXNE)
- {
- break;
- }
- }
- if(u32TimeOut == 0)
- {
- return ErrorTimeout;
- }
- u8Data = M0P_SPI1->DATA;
- }
- return Ok;
- }
这是华大HC32F030的库函数。
请教下:
1. 这里发送一个字节,为什么要判断RXNE?
2. 为什么最后对u8Data赋值?这不是形参吗?
|