返回该小组首页 回复主题
banshui

banshui

小组等级:     E币:226  (E币换礼)

#1楼主:cc2430串口调试

文章发表于:2008-05-06 09:35

刚接触这个芯片,想问一下怎么用串口发送 接受数据?

最好能有具体的例子.万分感谢.

有发送到串口的程序.为什么在串口调试中显示不出来呢?

怎么用串口调试助手?不是运行程序,可以直接在调试助手中显示么?

 

jizzll

   小组等级:    E币:2143  (E币换礼)

#2

文章发表于:2008-05-07 12:40

具体的我也不知道,我也想问呢

emot

   小组等级:    E币:1152  (E币换礼)

#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;
  }
}

banshui

   小组等级:    E币:226  (E币换礼)

#4

文章发表于:2008-05-08 10:57

能帮写一下main 函数么??谢谢了..

emot

   小组等级:    E币:1152  (E币换礼)

#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));

}

}

 

emot

   小组等级:    E币:1152  (E币换礼)

#6

文章发表于:2008-05-08 13:38

sizeof("string");前面回复的写错了。

banshui

   小组等级:    E币:226  (E币换礼)

#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;
  

   }
  }
}

banshui

   小组等级:    E币:226  (E币换礼)

#8

文章发表于:2008-05-09 19:39

帮忙看一下有什么问题?

不能实现啊?

q109789

   小组等级:    E币:176  (E币换礼)

#9

文章发表于:2008-05-09 23:19

确认下波特率对不对?

串口中断有没有关掉

总共 , 当前 /

快速回复主题--如果想加入编辑器功能,建议使用 [高级回复]

您目前还不是小组成员,请先加入

回复贴子区

用户名:    您没有注册?

密码:    忘记了密码?

内容:

  • DesignDesign
  • HTMLHTML

浏览该小组的用户还看过...

所有小组精华文章