請問當UART 收到字串時,它是如何分析and 處理字串的?

内核编译和嵌入式产品的设计与开发
回复
fuji65
帖子: 49
注册时间: 2009-03-12 17:09

請問當UART 收到字串時,它是如何分析and 處理字串的?

#1

帖子 fuji65 » 2009-08-05 11:07

as title.
laky373155210
帖子: 27
注册时间: 2009-08-04 13:53

Re: 請問當UART 收到字串時,它是如何分析and 處理字串的?

#2

帖子 laky373155210 » 2009-08-06 8:53

uart把接受到的字符放到一个它专用的寄存器里面,然后处理要你自己去写函数处理,比如写个函数从那个寄存器里面取出来就是,就像从某个物理地址取值一样简单。想把取出来的值是搓还是贬就看你自己了。呵呵~
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 請問當UART 收到字串時,它是如何分析and 處理字串的?

#3

帖子 eexpress » 2009-08-06 8:56

自己去读啊。
如果有接受多极缓冲,还好。如果只有一级,那最好中断去读,要不就被冲掉。
分析,,,自己作。 :em04
硬件最多帮你分析是否丢帧等错误,有错误标志位。
● 鸣学
laky373155210
帖子: 27
注册时间: 2009-08-04 13:53

Re: 請問當UART 收到字串時,它是如何分析and 處理字串的?

#4

帖子 laky373155210 » 2009-08-06 9:04

楼上的兄弟,你讲的太复杂。没那么麻烦,代码我自己都能写。你不想经常自己去读的话,写几个函数封装一下读那个专门寄存器的地址然后处理就OK了。至于那个寄存器的地址你可以从厂商提供的源文档里可以查找到。不同的硬件平台这个地址是不同的。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 請問當UART 收到字串時,它是如何分析and 處理字串的?

#5

帖子 eexpress » 2009-08-06 9:08

要简单啊。我自己bash操作/dev/ttyxxxx0都可以啊。呵呵
● 鸣学
fuji65
帖子: 49
注册时间: 2009-03-12 17:09

Re: 請問當UART 收到字串時,它是如何分析and 處理字串的?

#6

帖子 fuji65 » 2009-08-06 10:20

請問當我們在shell 上key 字的時後,kernel怎麼解析我們key的 字?
laky373155210
帖子: 27
注册时间: 2009-08-04 13:53

Re: 請問當UART 收到字串時,它是如何分析and 處理字串的?

#7

帖子 laky373155210 » 2009-08-06 13:20

你这种问题太泛了, 没问到重点,要跟你讲清这个要花很久的时间打字。要讲很多原理。~~
头像
懒蜗牛Gentoo
论坛版主
帖子: 7362
注册时间: 2007-03-02 17:36
系统: Linux Mint

Re: 請問當UART 收到字串時,它是如何分析and 處理字串的?

#8

帖子 懒蜗牛Gentoo » 2009-08-06 14:07

fuji65 写了:請問當我們在shell 上key 字的時後,kernel怎麼解析我們key的 字?
这事貌似不贵kernel管,归shell管
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
fuji65
帖子: 49
注册时间: 2009-03-12 17:09

Re: 請問當UART 收到字串時,它是如何分析and 處理字串的?

#9

帖子 fuji65 » 2009-08-10 9:55

如果想在kernel 寫個函數處理由UART傳來的東西,不知UART收來的data都放在哪?
steventree
帖子: 133
注册时间: 2007-11-05 21:58
来自: CH

Re: 請問當UART 收到字串時,它是如何分析and 處理字串的?

#10

帖子 steventree » 2009-08-16 0:23

问一个问题能够显示你对这个问题理解的程度。
9楼的这个问题问的比一楼的这个要稍好一点, PC上一般都是兼容16550的, chipset硬件上有提供一个小小的FIFO.
如果你需要自己处理UART控制器, 你就可以直接访问到收到的数据。鉴于你问问题的深度,你应该不是在问这个。
如果你通过操作系统来访问, 所要做的就是打开串口对应的设备文件,把他当作一个流来处理。
回复