/**********串口端口定义**********/
#define RxD PD0
#define TxD PD1
#define baudrate 9600 //波特率
#define F_CPU 8000000UL //定义晶振频率
void uart_init(void)
{
/*****RS232口线设置*****/
PORTD|=BIT(RxD)|BIT(TxD);
DDRD&=~BIT(RxD);
DDRD|=BIT(TxD);
/* 设置波特率*/
UBRRL=(F_CPU/baudrate/16-1)%256; //本设置波特率不加倍及U2X=0
UBRRH=(F_CPU/baudrate/16-1)/256;
/* 接收器与发送器使能*/
UCSRB|=BIT(4)|BIT(3);
/*设置传输格式*/
//异步,8位数据,无奇偶校验,一个停止位,无倍速
UCSRC|=BIT(7)|BIT(2)|BIT(1);
}
//串口数据发送,查询方式
void putc(unsigned char c)
{
/* 等待发送缓冲器为空 */
while (!(UCSRA&(1<
UDR = c;
}
//串口字符串发送,查询方式
void puts(unsigned char *s)
{
while(*s)
{
putc(*s);
s++;
}
putc('\n');
//return 1;
}
//串口数据接收,查询方式
unsigned char getc(void)
{
/* 等待接收数据*/
while (!(UCSRA&(1<
return UDR;
}
//串口接收数据存储,存储到数组中
void get_s(unsigned char *js,unsigned int num)
{
unsigned int i;
for(i=0;i
js[i]=getc(); //保存数据到数组里面
}
}
//test.c
//ICC-AVR application builder : 2008-11-4 12:34:31
// Target : M16
// Crystal: 8.0000Mhz
#include
#include
#include "uart.h"
void main(void)
{
uart_init();
while(1)
{
putc(getc());
}
}
上一篇:mega16试验板测试代码2-液晶1602四线显示
下一篇:AVRM16的PCF8563源码
推荐阅读最新更新时间:2024-03-16 15:17
设计资源 培训 开发板 精华推荐
- PC产业驶入创新超车道,英特尔蓉城撬动AI新引擎
- 与产业聚力共赢,英特尔举行新质生产力技术生态大会
- “新”享5G-A万兆网络前沿体验 高通携手产业伙伴亮相第二届链博会
- 英飞凌推出符合ASIL-D标准的新型汽车制动系统和电动助力转向系统三相栅极驱动器 IC
- 南芯科技推出80V升降压转换器,持续深耕工业储能市场
- 法雷奥与罗姆联合开发新一代功率电子领域
- 贸泽电子开售能为电动汽车牵引逆变器提供可扩展性能的 英飞凌HybridPACK Drive G2模块
- 德州仪器新型 MCU 可实现边缘 AI 和先进的实时控制, 提高系统效率、安全性和可持续性
- 瑞萨推出高性能四核应用处理器, 增强工业以太网与多轴电机控制解决方案阵容
- 研华全新模块化电脑SOM-6833助力5G路测设备升级