首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > VxWorks >

[请问串口无法发送的有关问题]

2012-02-23 
[请教串口无法发送的问题]初学VxWorks,遇到问题请教各位大侠。目标机:S3C2440(mini2440开发板) + VxWorks5.

[请教串口无法发送的问题]
初学VxWorks,遇到问题请教各位大侠。
目标机:S3C2440(mini2440开发板) + VxWorks5.5.1
BSP是从网上下载的

现在遇到问题如下:
1、现在调试用的调试方式为:网线+串口1,我的理解是windshell使用网络,console使用串口1,请问如果我没有网络,是否能用串口1->console,串口2->windshell?这要在哪里配置修改呢?是否有更好的调试方法,能否介绍介绍?

2、如何调试BSP,是否是下载了bootROM后,用tFtp下载调试,这个是下载到内存中还是直接烧到Norflash中呢?

3、我的串口通信代码如下

C/C++ code
void OpenCom(void){    fd = open("/tyCo/2",O_RDWR,0);    if(fd<0)    {    printf("open serial error\n");        rerurn;    }    else    printf("open serial succeed\n");        ioctl(fd,FIOSETOPTIONS,OPT_RAW);    ioctl(fd,FIOBAUDRATE,115200);    ioctl(fd,SIO_HW_OPTS_SET,CS8);}int COM_send(char* buff){    int bytes_out;    OpenCom(2);  /* 2440有3个串口 */    bytes_out = write(fd, buff, strlen(buff));    printf("output chars total: %d\n",bytes_out);    close(fd);    return 1;}

(1)为什么在调试串口接收时,要先挂起tShell任务呢?
(2)我运行函数 COM_send("1234"),console有打印发送了4字节,可连着的PC机上什么也没收到,就是说串口没有发送,为什么接收能正常,发送却不行,是不是还要挂起什么有冲突的任务?
(3)如何能单步调试到BSP中的串口中断中?

初学,有很多问题,请各位大侠指点指点!!

[解决办法]
探讨
初学VxWorks,遇到问题请教各位大侠。
目标机:S3C2440(mini2440开发板) + VxWorks5.5.1
BSP是从网上下载的

现在遇到问题如下:
1、现在调试用的调试方式为:网线+串口1,我的理解是windshell使用网络,console使用串口1,请问如果我没有网络,是否能用串口1->console,串口2->windshell?这要在哪里配置修改呢?是否有更好的调试方法,能否介绍介绍?

建议你不要用串口做这种方式的调试,就用网络吧,2440上的DM9000可以用

2、如何调试BSP,是否是下载了bootROM后,用tFtp下载调试,这个是下载到内存中还是直接烧到Norflash中呢?

下载到内存

3、我的串口通信代码如下
C/C++ code
void OpenCom(void)
{
fd = open("/tyCo/2",O_RDWR,0);
if(fd<0)
{
printf("open serial error\n");
rerurn;
}
else
printf("open serial succeed\n");

ioctl(fd,FIOSETOPTIONS,OPT_RAW);
ioctl(fd,FIOBAUDRATE,115200);
ioctl(fd,SIO_HW_OPTS_SET,CS8);
}

int COM_send(char* buff)
{
int bytes_out;
OpenCom(2); /* void *//* 2440有3个串口 */
bytes_out = write(fd, buff, strlen(buff));
printf("output chars total: %d\n",bytes_out);
close(fd);
return 1;
}


(1)为什么在调试串口接收时,要先挂起tShell任务呢?

没有这个说法

(2)我运行函数 COM_send("1234"),console有打印发送了4字节,可连着的PC机上什么也没收到,就是说串口没有发送,为什么接收能正常,发送却不行,是不是还要挂起什么有冲突的任务?

打印发送了4个字节,但不表明一定发送出去了

(3)如何能单步调试到BSP中的串口中断中?

中断不能单步调试,时间不允许


[解决办法]
看你程序,你是往串口COM3("/tyCo/2")去发送的,你PC机上接的是哪个串口啊?串口号别搞错了。
如果要中断跟踪调试的,需要进入系统级调试模式,然后在串口驱动的中断服务程序中设置断点就可以跟踪调试了。
[解决办法]
MARK,顶

热点排行