GCC模块化编程遇到的问题
以下是我的程序哪位能帮我解决一下 谢谢了#ifndef __USAR_H__
#define __USAR_H__
//初始化异步串口通信
void usart_init();
//串口数据发送
extern void tx_uasrt(unsigned char aDATA);
//串口数据接收
unsigned char rx_usart();
//发送字符串
extern void Usart_PutString(unsigned char *pcString);
#endif
/*mega128异步串口通信简介
异步正常模式
(U2X=0)波特率计算公式
BAUD = Fosc/16(UBRR+1)即UBRR = Fosc/16BAUD - 1;
异步倍数模式
(U2X=1)波特率计算公式
BAUD = Fosc/8(UBRR+1)即UBRR = Fosc/8BAUD - 1;
*/
#include<avr/io.h>
#include"USAR.H"
//串口通信初始化
void usart_init()
{
UBRR0H = 0;//波特率设定为9600
UBRR0L = 0X67;
UCSR0B |= (1<<RXEN0)|(1<<TXEN0);//接受发送使能
UCSR0C |= (1<<UCSZ01);//8位数据传输
}
//串口数据发送
void tx_uasrt(unsigned char aDATA)
{
while(!(UCSR0A & (1<<UDRE0)));//等待数据寄存器为空
UDR0 = aDATA;
}
//串口数据接收
unsigned char rx_usart()
{
unsigned char aDAT;
aDAT = UDR0;
while(!(UCSR0A & (1<<RXC0)));//等待数据传输完毕
return (aDAT);
}
//发送字符串
void Usart_PutString(unsigned char *pcString)
{
while (*pcString)
{
tx_uasrt(*pcString++);
}
tx_uasrt(0x0D);
tx_uasrt(0x0A);//结尾发送回车换行
}
/*
异步串口通信测试程序
2011年
*/
#include<avr/io.h>
#include"USAR.H"
void Usart_PutString(unsigned char *pcString);
int main()
{
usart_init();
tx_uasrt(0x30+1);
Usart_PutString("我是中国人 不是东亚病夫!!");
}
出现的错误警告
../MAIN.C:15: error: invalid conversion from 'const char*' to 'unsigned char*'
../MAIN.C:15: error: initializing argument 1 of 'void Usart_PutString(unsigned char*)'
哪位能帮我解决一下 谢谢了 如果把主函数即
int main()
{
usart_init();
tx_uasrt(0x30+1);
Usart_PutString("我是中国人 不是东亚病夫!!");
}
这段函数 放在 第二个文件中 编译一切正常可是 单独在一个文件里面却不行不知道为什么!!求救!! extern void usart_init();
页:
[1]