當前位置:編程學習大全網 - 編程語言 - Lbd編程

Lbd編程

妳說的是哪種單片機?先看串口初始化。

51

void main()

{ uchar OutDat//定義輸出變量

TMOD = 0x 20;//TMOD=0

th 1 = 0x F3;//12MHZ,BPS:4800,N,8,1

TL 1 = 0x F3;

PCON = 0x 80;//模式1

tr 1 = 1;

SCON = 0x 40;//串行通信控制寄存器模式1

OutDat = 0xaa//向串口發送壹個固定的數據值

for(;;)//循環程序

{

SBUF = OutDat//發送數據

for(;;)

{if(TI) //當發送停止位被置位時,發送中斷位被置位為1,表示發送完成。

打破;

}

姆德雷(500);

TI = 0;//清除中斷位

}

Stm32單片機

首先是配置UART的GPIO端口。

/*******************************************************************************

*函數名:UART1_GPIO_Configuration

*描述:配置uart1 GPIO端口。

*輸入:無

*輸出:無

*退貨:無

*******************************************************************************/

void UART 1 _ GPIO _ Configuration(void)

{

GPIO _ init typedef GPIO _ init structure;

//將USART1_Tx配置為備用功能推挽

GPIO_InitStructure。GPIO _ Pin = GPIO _ Pin _ 9;

GPIO_InitStructure。GPIO _ Speed = GPIO _ Speed _ 50MHz

GPIO_InitStructure。GPIO _ Mode = GPIO _ Mode _ AF _ PP

GPIO _ Init(GPIOA & amp;GPIO _ init structure);

//將USART1_Rx配置為輸入浮動

GPIO_InitStructure。GPIO _ Pin = GPIO _ Pin _ 10;

GPIO_InitStructure。GPIO _ Mode = GPIO _ Mode _ IN _ FLOATING;

GPIO _ Init(GPIOA & amp;GPIO _ init structure);

}

然後配置串行端口參數。

/*如果通過查詢收發數據,就不需要使用串口的中斷。

如果需要通過中斷發送和接收數據,需要啟用串行中斷。

函數原型void usart _ it config(usart _ typedef * usartx,u16 usart _ it,函數狀態newstate)。

功能描述啟用或禁用指定的USART中斷。

USART_IT描述

USART_IT_PE奇偶校驗錯誤中斷

USART_IT_TXE發送中斷。

USART_IT_TC傳輸完成中斷。

USART_IT_RXNE接收中斷。

USART_IT_IDLE空閑總線中斷

USART_IT_LBD LIN中斷檢測中斷

USART_IT_CTS CTS中斷

USART_IT_ERR錯誤中斷。

*/

/*******************************************************************************

*函數名:UART1_Configuration

*描述:配置uart1

*輸入:無

*輸出:無

*退貨:無

*******************************************************************************/

void UART 1 _配置(void)

{

USART _ init typedef USART _ init structure;

/* USART1配置如下:

-波特率= 9600波特

-字長= 8位

-壹個停止位

-沒有對等

-硬件流量控制禁用(RTS和CTS信號)

-接收和發送啟用

*/

USART_InitStructure。USART _ BaudRate = 9600

USART_InitStructure。USART _ word length = USART _ word length _ 8b;

USART_InitStructure。USART _ stop bits = USART _ stop bits _ 1;

USART_InitStructure。USART _ Parity = USART _ Parity _ No

USART_InitStructure。USART _ hardware flow control = USART _ hardware flow control _ None;

USART_InitStructure。USART _ Mode = USART _ Mode _ Rx | USART _ Mode _ Tx;

/*配置USART1*/

USART _ Init(USART 1;USART _ init structure);

/*啟用USART1接收和發送中斷*/

USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);

/*啟用USART1 */

USART_Cmd(USART1,使能);

}

具體轉換成ASCII碼取決於妳的單片機16系統的規律,從中我們可以找出它的轉換規律。

  • 上一篇:求即將舉行的第五屆小學讀書競賽賽前輔導試題。
  • 下一篇:安吉爾j2306-rob60廢水比是多少?
  • copyright 2024編程學習大全網