?? usart.c
字號:
/******************************************************
*工程名稱:Mega16與PC機的串口通信
*創建日期:2007年6月25日
*創 建 人:朱海峰
*修改日期:
*修 改 人:
*版 本 號:
*其 他:QQ:543376422 E-mail:ntzhf100@163.com
* 淘寶網店:http://shop34765428.taobao.com/
*說 明:Mega16與PC機的串口通信
*硬件連接:
PB0~PB3口接4個led燈,將usart的電源開關打在ON上,將PD0,PD1用短路片短路
下載完程序后將串口連接到板子上的窗口上,打開附帶光盤中的串口通信
控制LED燈文件夾(先把此文件夾復制到硬盤上),打開串口LED燈控制軟件
先將串口打開,然后再點上面的按鈕,則板上相應的led將會亮
或者也可以用串口調試軟件調試(波特率9600,1個起始位+8個數據位+無校驗
+1個停止位),發字符1 2 3 4 5 6 7 8 則可以看到效果,每通信一次mega16
發送一次"I love AVR!"到調試界面
*效 果:
******************************************************/
#include <avr/io.h>
#include "usart.h"
/********************************************/
void USART_init(void)
{
/****波特率初始化*****/
UBRR1H = 0X00;
UBRR1L = 0x2f; //9600@7.3728Mhz
/*****幀結構設定*****/
UCSR1C = (1<<UCSZ11)|(1<<UCSZ10);//異步,無校驗,一位停止位,8位數據
/*****使能收發器*****/
UCSR1B = (1<<TXEN1)|(1<<RXEN1);
}
/********************************************/
unsigned char USART_Getchar(void)
{
while(!(UCSR1A & (1<<RXC1)));
return UDR1;
}
/********************************************/
void USART_Putchar(unsigned char send_char)
{
while(!(UCSR1A & (1<<UDRE1)));
UDR1 = send_char;
}
/********************************************/
void USART_Send_string(char *str)
{
while((*str) != '\0')
{
USART_Putchar(*str++);
}
}
/********************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -