| 首页 | DSP技术 | 嵌入式开发 | 电源技术 | 单片机学习 | IC设计 | 工业自动化 | 无线通讯技术 | 嵌入式实时操作系统 |
| 驱动开发 | CAN总线 | EDA技术 | PCB设计 | 8051单片机 | MSP单片机 | PIC单片机 | 电子基础 |
| AVR单片机 | ARM学习 | LED论坛 | FPGA论坛 | 周立功单片机 | mp3开发 | Flash闪存 | 手机方案 |
请教485问题!!急急急!!!
问题: 我用的是C8051F040的片子.部分程序略:
问题是:写了中断接受函数好用,但发送发送的就是乱码????????为什么啊!!
程序代码如下:
void UART0_Init (void)
{
char SFRPAGE_SAVE = SFRPAGE;
SFRPAGE = UART0_PAGE;
SCON0 = 0X50;
SCON0 &= 0xFC; //清中断标志
SSTA0 = 0x10; //禁止UART0波特率2分频//SMOD0=1
IE = 0x90; //开UART1中断
SFRPAGE = TIMER01_PAGE;
TMOD = 0x20; // TMOD: timer 1, mode 2, 8-bit reload
CKCON = 0x10; //TIM=1
TH1 = 0x70;
TL1 = TH1; // initialize Timer1
TR1 = 1; // start Timer1
SFRPAGE = UART0_PAGE;
TI0 = 1;
// Indicate TX1 ready
SFRPAGE = CONFIG_PAGE;
CTRL = 0; //485收发控制
SFRPAGE = SFRPAGE_SAVE; // Restore SFR page
}
//*************************************************************
//****************发送函数*************************************
//*************************************************************
void SendUART0(uchar PP) //发送
{
EA = 0;
SFRPAGE = CONFIG_PAGE;
CTRL = 1; //485发送控制
SFRPAGE=UART0_PAGE;
SBUF0=PP;
while(TI0==0);
TI0 = 0;
SFRPAGE = CONFIG_PAGE;
CTRL = 0;
EA = 1;
}
void main (void) {
UART0_Init ();EA = 1;
SendUART0('A');
wait_ms(100);//}
回答 1:SendUART0('A');传递的值对吗? SendUART0('A');传递的值对吗?;传递的值对吗?
用 SendUART0(0X41);试试
<
相关资料:
| Copyright © 2005-2006 电子技术学习网 和 电子电路图网 均为 单片机设计网旗下网站 |