|
Gorgon Meducer 傻孩子:
=============================
我现在用的是ATMEGA168单片机。5V供电。频率8M。
想使用它的串口进行数据传输。使用MAX232进行电平转换。使用中断方式。
以下是代码。使用串口调试助手进行调试。接收也接收不到数据,发送也发送不了数据。
想请Gorgon Meducer 傻孩子给看一下。谢谢!
#include "iom168v.h"
#include "stdio.h"
#include "math.h"
#include "string.h"
#include "macros.h"
#include "ctype.h"
#define uchar unsigned char
#define uint unsigned int
#pragma interrupt_handler USART_Transmit:20
#pragma interrupt_handler USART_Receive:19
volatile float height=2.0; //实际当前高度
volatile signed char h=12; //设定高度
void initialize(void);
void USART_Init(void);
void main(void)
{
initialize();
USART_Init();
while(1)
{
}
}
void initialize(void)
{
DDRB=(1<<PB0)|(1<<PB3)|(1<<PB5);
PORTB=(1<<PB3)|(1<<PB5);
DDRC=(1<<PC2)|(1<<PC3);
DDRD=(1<<PD1)|(1<<PD2)|(1<<PD6)|(1<<PD7);
PORTD=(1<<PD0)|(1<<PD1)|(1<<PD2);
}
void USART_Init(void)
{
UCSR0B = 0x00;
UCSR0A = 0x00;
UCSR0C = (1<<UCSZ01)|(1<<UCSZ00);
UBRR0L = 0x33;
UBRR0H = 0x00;
UCSR0B = (1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0)|(1<<TXCIE0);
}
void USART_Receive(void)
{
h=UDR0;
}
void USART_Transmit(void)
{
UDR0=height;
}
以下蓝色文字由站长:armok 于:2009-01-18,19:57:02 加入。 你的原标题:“<font color=black>请教Gorgon Meducer 傻孩子 一个问题” 不合符规定。请更改成能说明帖子大意的标题
试想一下,如果本论坛的帖子标题清一色的‘帮助!’,‘ADC求救!’等笼统的标题,你在阅读的过程中会造成许多麻烦。
所以本论坛规定:一定要起一个能说明帖子大意的标题。不允许“关于 AVR 的 ADC 使用!”这种笼统标题。作为标题,必须说明清楚:
①你是在请教问题,还是在介绍有关的知识?
②ADC的问题有许多,你是想说那方面的内容?
注意以上两点,标题应该改成如:“请教:ADC 可以不使用中断吗?”。
起一个能说明帖子大意的标题,除了减轻我们的帖子分类整理工作,还方便其它人阅读,节省大家的时间。
注:使用合格的标题,对你来说只是举手之劳,但却会为我们的管理工作提供很大的便利。谢谢你的支持。
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|