luoyiming1984 发表于 2012-9-22 12:12:00

再发一个STM32在RTX上用QUEUE的方式收发串口


1,收发中断时发出信号量,应用程序中收到信号量则操作queue,queue和信号量同步。

roguebear2012 发表于 2012-9-22 16:51:33

又被我看到你了。。。

roguebear2012 发表于 2012-9-22 16:53:38

你的工程有问题。。检查下……

luoyiming1984 发表于 2012-9-22 22:04:55

恩,测试超过128字节会出错

zhang8198 发表于 2012-9-23 23:14:02

{:smile:}{:smile:}{:smile:}{:smile:}{:smile:}

roguebear2012 发表于 2012-9-24 14:06:27

仿真通过。 上板子时如果先读一个写入变量c 再马上发出。用各种串口调试软件发现回显的都是乱码……
当了1天的小白鼠……   以后再不弄这种啥说明没有滴来历不明滴东西。教训啊。

luoyiming1984 发表于 2012-9-24 15:07:29

roguebear2012 发表于 2012-9-24 14:06 static/image/common/back.gif
仿真通过。 上板子时如果先读一个写入变量c 再马上发出。用各种串口调试软件发现回显的都是乱码……
当了 ...

用这个文件,pop和push函数修改了,pop时,返回值为pop前队列里面的值,如果返回0说明pop空了。
push时,返回push前队列还剩多少空间,返回0说明队列满了。

roguebear2012 发表于 2012-9-24 21:54:04

luoyiming1984 发表于 2012-9-24 15:07 static/image/common/back.gif
用这个文件,pop和push函数修改了,pop时,返回值为pop前队列里面的值,如果返回0说明pop空了。
push时, ...

先不谈bug,我查到能仿真但是实际发不出来不是你代码问题,而是我rcc初始化的问题,真是怪了个哉的……

你的代码是FIFO,开的buffer。在坛子里有一个精华用的环形缓冲 和一个内存管理模块,我下下来调试了,能跑。效率不错,占用cpu也很少,用dma还没开始调。
我看后发现他的内存管理是模仿的ucos的,不知道为何又把变量名啊,一些参数顺序给改了,我就把ucos-ii 2.90的os_mem.c copy过来,稍微改了些定义,直接就替换用上了。





luoyiming1984 发表于 2012-9-24 23:26:39

roguebear2012 发表于 2012-9-24 21:54 static/image/common/back.gif
先不谈bug,我查到能仿真但是实际发不出来不是你代码问题,而是我rcc初始化的问题,真是怪了个哉的……

...

在什么地方?

roguebear2012 发表于 2012-9-24 23:28:10

luoyiming1984 发表于 2012-9-24 23:26 static/image/common/back.gif
在什么地方?

http://www.amobbs.com/forum.php?mod=viewthread&tid=4516795&highlight=stm32%2B%E4%B8%B2%E5%8F%A3

ningming 发表于 2012-9-28 22:21:38

这个坛子上好几个的串口收发贴子的程式都有问题,在进行饱和收发测试时大多会出错。都无法在实际工程中使用,只能用来做一个学习的入门。

roguebear2012 发表于 2012-9-28 23:40:45

ningming 发表于 2012-9-28 22:21 static/image/common/back.gif
这个坛子上好几个的串口收发贴子的程式都有问题,在进行饱和收发测试时大多会出错。都无法在实际工程中使用 ...

找到木有问题的没

luoyiming1984 发表于 2012-9-29 16:30:30

ningming 发表于 2012-9-28 22:21 static/image/common/back.gif
这个坛子上好几个的串口收发贴子的程式都有问题,在进行饱和收发测试时大多会出错。都无法在实际工程中使用 ...

我这个,在LPC2142上饱和测试会死机,在STM32上则不会
页: [1]
查看完整版本: 再发一个STM32在RTX上用QUEUE的方式收发串口