原创
开通了!
2007-4-30 12:17
1865
4
5
分类:
工程师职场
鉴于经常要用到太多琐碎的资料,每次用时都要大费周折找它们出来,效率实在是低,于是萌生了将它们都放在博客上的念头,ednchina是一个好地方,方便自己的同时,希望与大家共享:)
昨晚匆匆忙忙地开通,就迫不及待地把资料上传上来,这个网站速度还行,人气也不错,如果上传文件大小的限制可以宽一点就更好了。
最近把AVR的最小系统试验板焊了出来,ISP下载部分很成功,一试则灵。而TTL和232电平转换的电路在网上找了一个焊了上去,没有用232的转换芯片,用了二个三极管,结果昨天搞了一天都没有结果,连接用万用表测试过是没问题的,由于刚学AVR,串口通信的测试程序是在网上找的,现在不知道是程序问题还是电路问题,参考电路图如下
找到了一个类似的电路
测试程序如下:
// 1 使用ICCAVR 的终端调试窗口(Terminal) 进行通信调试
// 2 对ICCAVR 的终端调试窗口进行设置设置串口为com1 或com2,
// 通信波特率为19200(Tools->Environment Options...)
// 3 将PC 屏幕光标定位于调试窗口中
#include
#define fosc 8000000 //晶振8MHZ
#define baud 19200 //波特率
/* 字符输出函数 */
void putchar(unsigned char c)
{
while (!(UCSRA&(1<
UDR=c;
}
/* 字符输入函数 */
unsigned char getchar(void)
{
while(!(UCSRA& (1<
return UDR;
}
/* 字符串输出函数 */
int puts(char *s)
{
while (*s)
{
putchar(*s);
s++;
}
putchar(0x0a);//回车换行
putchar(0x0d);
return 1;
}
/* 不含回车换行的字符串输出函数 */
void putstr(char *s)
{
while (*s)
{
putchar(*s);
s++;
}
}
/* UART 初始化 */
void uart_init(void)
{
UCSRB=(1<<
UBRRL=(fosc/16/(baud+1))%256;
UBRRH=(fosc/16/(baud+1))/256;
UCSRC=(1<<<
}
/* RS232 通信main 函数 */
void main(void)
{
unsigned char i;
uart_init();
puts("yaobx RS232 通信演示程序");
puts("HTTP://WWW.SL.COM.CN");
puts("MAIL TO:sllg@sl.com.cn");
while(1)
{
i=getchar();
if (i!=0)//按PC 键盘开始测试
{
putstr("当前按键是");
putchar(i);
putchar(0x0a);
putchar(0x0d);
puts("yaobx RS232 通信演示程序");
puts("HTTP://WWW.SL.COM.CN");
puts("MAIL TO:sllg@sl.com.cn");
putchar(0x0a);
putchar(0x0d);
}
}
}
);>)|(1>)|(1>);>)|(1>)));>)));>
用户17326 2007-4-30 12:43
欢迎开博,希望在这里找到志同道合者啊