|
OneUart.c
#include "OneUart.h"
#include "delay.h"
#include "stm32f10x.h"
///////////////////////////////////////////////////////////////////////////////
//////函 OnUart_GPIO(void)
//////功 能:語音模塊一線串口IO口
//////輸入參數: void
//////輸出參數: void
//////說 明:
//////////////////////////////////////////////////////////////////////////////
void OnUart_GPIO(void)
{
RCC->APB2ENR|=1<<3; //GPIOB
RCC->APB2ENR|=1<<4; //GPIOC
//GPIOB.11
GPIOB->CRH&=0xFFFF0FFF; //清零
GPIOB->CRH|=0x00003000; //推挽輸出 50MHZ
GPIOB->ODR=~(1<<11); //B.11低
GPIOC->CRH&=0xFF0FFFFF;
GPIOC->CRH|=0x00300000;
GPIOC->ODR|=1<<13; //C.13高
}
///////////////////////////////////////////////////////////////////////////////
//////函 數:SendData(u8 addr)
//////功 能:語音模塊一線串口
//////輸入參數: addr要發送的0x數
//////輸出參數: void
//////說 明:
//////////////////////////////////////////////////////////////////////////////
void SendData ( u8 addr )//發送函數。
{
u8 i;
/*發送時關掉中斷,防止中斷影響時序 */
SDA = 1; /*開始拉高*/
delay_us ( 1000 );
SDA = 0; /*開始引導碼*/
delay_us ( 3200 );/*此處延時最少要大于2ms*/
for ( i = 0; i < 8; i++ ) /*總共8位數據 */
{
SDA = 1;
if ( addr & 0x01 ) /*3:1表示數據位1,每個位用兩個脈沖表示 */
{
delay_us ( 600 );
SDA = 0;
delay_us ( 200 );
}
else /*1:3表示數據位0 ,每個位用兩個脈沖表示 */
{
delay_us ( 200 );
SDA = 0;
delay_us ( 600 );
}
addr >>= 1;
}
SDA = 1;
//恢復中斷
}
|
-
-
JQ8400-FL語音模塊.7z
2019-7-29 15:55 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
8.4 MB, 下載次數: 58, 下載積分: 黑幣 -5
評分
-
查看全部評分
|