#1楼主:cc2430串口调试
文章发表于:2008-05-06 09:35
刚接触这个芯片,想问一下怎么用串口发送 接受数据?
最好能有具体的例子.万分感谢.
有发送到串口的程序.为什么在串口调试中显示不出来呢?
怎么用串口调试助手?不是运行程序,可以直接在调试助手中显示么?
#3
文章发表于:2008-05-07 13:15
/****************************************************************
*函数功能 :初始化串口1
*入口参数 :无
*返 回 值 :无
*说 明 :57600-8-n-1
****************************************************************/
void initUARTtest(void)
{
CLKCON &= ~0x40; //晶振
while(!(SLEEP & 0x40)); //等待晶振稳定
CLKCON &= ~0x47; //TICHSPD128分频,CLKSPD不分频
SLEEP |= 0x04; //关闭不用的RC振荡器
PERCFG = 0x00; //位置1 P0口
P0SEL = 0x3c; //P0用作串口
P2DIR &= ~0XC0; //P0优先作为串口0
U0CSR |= 0x80; //UART方式
U0GCR |= 10; //baud_e
U0BAUD |= 216; //波特率设为57600
UTX0IF = 0;
}
/****************************************************************
*函数功能 :串口发送字符串函数
*入口参数 : data:数据
* len :数据长度
*返 回 值 :无
*说 明 :
****************************************************************/
void UartTX_Send_String(char *Data,int len)
{
int j;
for(j=0;j<len;j++)
{
U0DBUF = *Data++;
while(UTX0IF == 0);
UTX0IF = 0;
}
}
#5
文章发表于:2008-05-08 13:26
void main()
{
initUART();
while(1)
{
void UartTX_Send_String("http://group.ednchina.com/673",sizeof(http://group.ednchina.com/673));
}
}
#6
文章发表于:2008-05-08 13:38
sizeof("string");前面回复的写错了。
#7
文章发表于:2008-05-09 19:37
INT8U ScanKey(void)
{
INT8U tt;
tt = halAdcSampleSingle(ADC_REF_AVDD, ADC_8_BIT, ADC_INPUT_JOYSTICK);
if((tt > 0xA0 ) && (tt < 0xC5)) return K_UP;
else if((tt < 0x8a) && (tt > 0x60)) return K_DOWN;
else if((tt < 0x55) && (tt > 0x32)) return K_LIFT;
else if(tt == 0) return K_RIGHT;
else return 0xff;
}
void Delay(unsigned char n)
{
unsigned char i;
unsigned int j;
for(i = 0; i < n; i++)
for(j = 1; j<10; j++);
}
void main(void)
{
INT8U key;
SET_MAIN_CLOCK_SOURCE(CRYSTAL);
IO_DIR_PORT_PIN(1, 0, IO_OUT);
IO_DIR_PORT_PIN(1, 1, IO_OUT);
IO_DIR_PORT_PIN(1,2, IO_OUT);
IO_DIR_PORT_PIN(1, 3, IO_OUT);
IO_DIR_PORT_PIN(0, 6, IO_IN);
key="ScanKey"();
while(key != 0xff)
{
if(key==0x20) {P1_0 = 1;
}
else if(key==0x21)
{
P1_1 = 1;
}
else if(key==0x22){
P1_2= 1;
}
else if(key==0x23){
P1_3 = 1;
}
}
}