嵌入式串口调试
今天老板给了我一个任务,让我调通一个串口,我甚至不知道什么叫做调通一个串口。在这里我想问一问大虾们,怎么样叫做调通了一个串口?分派任务的说:目前我们的板子有两个串口,单独...
今天老板给了我一个任务,让我调通一个串口,我甚至不知道什么叫做调通一个串口。在这里我想问一问大虾们,怎么样叫做调通了一个串口?分派任务的说:目前我们的板子有两个串口,单独使用都可以,一个用作打印,一个用作gps通信,同时使用?我这里有一个他给的君正的uart.c程序,然后就什么都没有了.我是一个菜鸟,入行一个星期,以前是搞pc开发的,没有接触过板子,基本就是一个文盲,不知道我的工作应该以什么样的步骤开展?需要哪些工具?是要改写驱动程序呢,还是改写例子程序?究竟怎么样才叫调通了呢?分数我有的是,先设100分,回答得好在加100,要不是分数最高只能给这么多,我可以全给你,以前老回答其他人的问题,分数很少,一点点攒的,以后我还可以攒。 回答问题要快,我在这3天之内就会关闭问题。
同时使用后面漏了 “不行”
一天过去了,我也知道了什么叫做调通一个串口了,现在请问,有测试程序和驱动程序吗?发给我把,驱动程序需要修改的话,改哪里?因为原来两个串口的单个驱动都是通的,一起的程序没有,需要改哪些地方?
我已经又增加了50分数了。
我的arm9的板子,君正4740,谁有测试程序和驱动程序(两个串口都能通的,差不多类似的也可以)?我感觉有被炒鱿鱼的危险,所以各位卖力点,我再加50分。
我的邮箱是 xouxoux@163.com
补充:大虾发程序时最好写上您的百度用户名,我好确定分数给谁! 展开
同时使用后面漏了 “不行”
一天过去了,我也知道了什么叫做调通一个串口了,现在请问,有测试程序和驱动程序吗?发给我把,驱动程序需要修改的话,改哪里?因为原来两个串口的单个驱动都是通的,一起的程序没有,需要改哪些地方?
我已经又增加了50分数了。
我的arm9的板子,君正4740,谁有测试程序和驱动程序(两个串口都能通的,差不多类似的也可以)?我感觉有被炒鱿鱼的危险,所以各位卖力点,我再加50分。
我的邮箱是 xouxoux@163.com
补充:大虾发程序时最好写上您的百度用户名,我好确定分数给谁! 展开
4个回答
展开全部
我刚做过一个串口的板子调试工作。我是这样做的。
调通一个串口指的是1.硬件调通。用示波器看指定的串口线有数据,并且电源线地线处于正常的电平。2.接口(软件)调通。写好接口软件程序。
具体是这样做的。
1.先写一个最贱单的通信程序。如果手里没有现成的事例可以就写一个程序可以使串口写数据的线1 0周期变化。这个就直接是端口操作。你找一下板子的设计资料怎么设计的 相应用的端口是哪几个。进行一下简单的端口操作,再用示波器看。看看有没有信号出来,如果有而且对应的线处于正确的电平,这样硬件就调通了。
2.写端口驱动程序.一般来说最基本的驱动接口程序包括3个.
(1)初始化程序.这个函数用来设置串口的数据率啊,控制信息之类的.这个要看你所使用的芯片的数据手册对照设计.
(2)读1个字节的数据.调用这个函数可以从串口缓冲区读出一个数据.从cpu datasheet里面可以找到串口读缓冲区的相关操作。
(3)写一个字节的数据.
然后写好后,将板子和电脑联机,在电脑上打个一个叫 串口调试助手或者串口精灵的共具,可以很方便的读写电脑串口.连机进行调试,调用你自己写的读写接口将你想要发送的字节发到电脑上能正确接收且能正确接收电脑发送过去的程序.
这两大方面通了以后就可以交差的了.
调通一个串口指的是1.硬件调通。用示波器看指定的串口线有数据,并且电源线地线处于正常的电平。2.接口(软件)调通。写好接口软件程序。
具体是这样做的。
1.先写一个最贱单的通信程序。如果手里没有现成的事例可以就写一个程序可以使串口写数据的线1 0周期变化。这个就直接是端口操作。你找一下板子的设计资料怎么设计的 相应用的端口是哪几个。进行一下简单的端口操作,再用示波器看。看看有没有信号出来,如果有而且对应的线处于正确的电平,这样硬件就调通了。
2.写端口驱动程序.一般来说最基本的驱动接口程序包括3个.
(1)初始化程序.这个函数用来设置串口的数据率啊,控制信息之类的.这个要看你所使用的芯片的数据手册对照设计.
(2)读1个字节的数据.调用这个函数可以从串口缓冲区读出一个数据.从cpu datasheet里面可以找到串口读缓冲区的相关操作。
(3)写一个字节的数据.
然后写好后,将板子和电脑联机,在电脑上打个一个叫 串口调试助手或者串口精灵的共具,可以很方便的读写电脑串口.连机进行调试,调用你自己写的读写接口将你想要发送的字节发到电脑上能正确接收且能正确接收电脑发送过去的程序.
这两大方面通了以后就可以交差的了.
展开全部
调通一个串口 简单 说 就是 双方 发送,对方能接收到!
关键 就是
甲方 发送 乙方 接收,反过来;
甲方 接收 乙方 发送
祝你顺利
关键 就是
甲方 发送 乙方 接收,反过来;
甲方 接收 乙方 发送
祝你顺利
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个要看你板子上面的控制器是什么
51,AVR,、ARM、davinci或者别的
串口很容易使用的,比如51
只要设置一下T1定时器的状态,
配置一下相关寄存器设置数据位长度,奇偶校验,波特率
上位机和单片机配置相同后,就可以通信啦。
我记得我写的发送函数和接受函数 总共也才10几行代码。
其他的MCU只是寄存器名字不一样,但是用法一样
其实我建议你直接看51单片机的串口,相当容易使用。
51,AVR,、ARM、davinci或者别的
串口很容易使用的,比如51
只要设置一下T1定时器的状态,
配置一下相关寄存器设置数据位长度,奇偶校验,波特率
上位机和单片机配置相同后,就可以通信啦。
我记得我写的发送函数和接受函数 总共也才10几行代码。
其他的MCU只是寄存器名字不一样,但是用法一样
其实我建议你直接看51单片机的串口,相当容易使用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先拿你们的板子写和串口发送的程序,然后
到网上下个串口调试助手,打开板子与PC连接的那个PC 串口
看看数据收到没?波特率上下要一致,没收到的话,说明你的板子上的串口程序没写好,发送调好了,再做接受。
前两天刚写了个串口示波器,估计贴主vc很强大的。
既然有uart.c
你直接写个主函数
void main()
{
//先配置下板子的资源
//调用初始化串口函数,在uart。c里面。
InitUart()//设置好波特率
while(1)
{
UartSendChar(‘A’);//你的uart。c里面也应该大至是这些函数。
}
}
具体要看你是什么板子,很简单的·
调通一个串口,就是下面板子发哦那个任何字符 上面都能正常接受。
上面发的任何指令(也是字符),下面也能正常接受
到网上下个串口调试助手,打开板子与PC连接的那个PC 串口
看看数据收到没?波特率上下要一致,没收到的话,说明你的板子上的串口程序没写好,发送调好了,再做接受。
前两天刚写了个串口示波器,估计贴主vc很强大的。
既然有uart.c
你直接写个主函数
void main()
{
//先配置下板子的资源
//调用初始化串口函数,在uart。c里面。
InitUart()//设置好波特率
while(1)
{
UartSendChar(‘A’);//你的uart。c里面也应该大至是这些函数。
}
}
具体要看你是什么板子,很简单的·
调通一个串口,就是下面板子发哦那个任何字符 上面都能正常接受。
上面发的任何指令(也是字符),下面也能正常接受
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询