搜索
bottom↓
楼主: lvhaian

【原创开源】 基于 STM32F103C6T6 的 USB 转 RS232 模块..

  [复制链接]

出0入0汤圆

发表于 2011-5-22 11:46:40 | 显示全部楼层
顶一个。

出0入0汤圆

发表于 2011-5-22 10:11:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-22 09:48:49 | 显示全部楼层
波特率怎么自动调整

出0入25汤圆

发表于 2011-5-22 01:43:50 | 显示全部楼层
STM32学习ing。

出0入0汤圆

发表于 2011-5-21 23:21:22 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-17 11:55:50 | 显示全部楼层
强人

出0入0汤圆

发表于 2011-4-12 21:45:56 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-4-12 21:04:37 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-4-12 20:22:17 | 显示全部楼层
学习

出0入0汤圆

发表于 2011-4-11 16:31:17 | 显示全部楼层
这个还是很不错的兴趣产品。有时候不一定要做成商业产品,带着好奇心和兴趣和东西做完美,也是很不错哦!支持村长!

出0入0汤圆

发表于 2011-4-11 16:18:39 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-11 15:25:54 | 显示全部楼层
回复【128楼】studyplacefor
怎么这么多的人mark ?  那是什么意思?
-----------------------------------------------------------------------

就是吧这个帖子做个标记“mark(标记)”  以后可以在论坛自己的控制面板上查看自己回复过的帖子 一下就能找到这篇文章

出0入0汤圆

发表于 2011-4-11 14:56:36 | 显示全部楼层
我弄到RTT了,做USB调试finsh,可以省个串口出来,修改成队列方式,数据量比较小,暂时没发现问题

出0入0汤圆

发表于 2011-4-11 13:27:34 | 显示全部楼层
怎么这么多的人mark ?  那是什么意思?

出0入0汤圆

发表于 2011-4-10 16:34:38 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-10 16:17:08 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-4-7 13:32:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-7 12:13:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-9 13:15:40 | 显示全部楼层
回复【116楼】helloshi
-----------------------------------------------------------------------

我也发现确实是这个问题,修改了之后正常,不过修改后可靠性是否会受影响有待验证

出0入0汤圆

发表于 2010-12-4 09:52:19 | 显示全部楼层
怎么没有原理图有。谁有给发一份。谢谢了

出0入0汤圆

发表于 2010-11-29 22:28:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-29 18:24:18 | 显示全部楼层
我的CPU是64脚的我选RBT6重新编译了下载后插上USB怎么不现发现新硬件

出0入0汤圆

发表于 2010-8-30 23:34:53 | 显示全部楼层
记录

出0入0汤圆

发表于 2010-8-30 20:28:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-23 15:08:47 | 显示全部楼层
回复【116楼】helloshi  
-----------------------------------------------------------------------

原来是这样,我最近买的,也发现这个问题

出0入0汤圆

发表于 2010-8-22 16:31:09 | 显示全部楼层
回复【78楼】lvhaian  安哥
【71楼】 disheng
这个问题比较有意思, 我看看.
-----------------------------------------------------------------------

今天用STM32F103VCT6 试了一下,也是这个现象。

发送:11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF
接收:11 22 33 44 55 66 77 08 19 2A 3B 4C 5D 6E 7F

原因:
stm32f10x_it.c 中

/*******************************************************************************
* Function Name  : USART1_IRQHandler
* Description    : This function handles USART1 global interrupt request.
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/

void USART1_IRQHandler(void)
{
  if (USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
  {
    // Send the received data to the PC Host
    if (USART_InitStructure.USART_WordLength == USART_WordLength_8b)
    {
      QueueWrite((void *)buf_uart_to_usb, USART_ReceiveData(USART1)& 0x7F); //8位数据为什么要把最高位屏蔽呢???
    }
    else if (USART_InitStructure.USART_WordLength == USART_WordLength_9b)
    {
      QueueWrite((void *)buf_uart_to_usb, USART_ReceiveData(USART1) );
    }
  }
  
   if(USART_GetITStatus(USART1, USART_IT_TXE) != RESET)
   {
     USART_SendData(USART1, USART1_Tx_Char);
     Flag_UARTSendOver = 1;
     // Disable the USART1 Transmit interrupt
     USART_ITConfig(USART1, USART_IT_TXE, DISABLE);
    }
}

出0入0汤圆

发表于 2010-8-16 17:21:44 | 显示全部楼层
软件驱动方面不懂,问个电气方面问题,
我看到了有电平转换芯片,在打开DTR脚和RTS脚后,两脚的电平能有多少,还有拉电流允许最大能到多少

出0入0汤圆

发表于 2010-8-16 10:39:27 | 显示全部楼层
价格优势虽然没有,但是值得学习

出0入0汤圆

发表于 2010-8-16 09:48:04 | 显示全部楼层
这个必须mark

出0入0汤圆

 楼主| 发表于 2010-8-16 09:24:54 | 显示全部楼层
最好别和CH431比, CH431那玩意太烂了,数据包太快的话会出现丢包的情况,估计还不如楼主的方案呢。


==================================

和商业的芯片比起来就肯定不如别人了哦。 没有比较过。

出0入0汤圆

发表于 2010-8-14 11:53:23 | 显示全部楼层
mark一下。

出0入0汤圆

发表于 2010-8-11 23:03:09 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-8-11 20:07:43 | 显示全部楼层
最好别和CH431比, CH431那玩意太烂了,数据包太快的话会出现丢包的情况,估计还不如楼主的方案呢。

出0入59汤圆

发表于 2010-8-11 18:21:57 | 显示全部楼层
有机会试试USB,呵呵,谢谢共享~

出0入0汤圆

发表于 2010-8-11 17:32:22 | 显示全部楼层
记号

出0入0汤圆

发表于 2010-7-30 21:37:38 | 显示全部楼层
比较好的消息,测试表明,在linux下无须安装任何驱动,linux内核已经直接支持,稳定性还需要进一步测试。

出0入0汤圆

发表于 2010-7-22 16:38:55 | 显示全部楼层
mark

出0入46汤圆

发表于 2010-6-30 08:49:36 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-29 22:11:46 | 显示全部楼层
膜拜啊。。。。。。

出0入0汤圆

发表于 2010-6-20 09:05:07 | 显示全部楼层
谢谢楼主奉献!

出0入0汤圆

发表于 2010-6-20 01:19:09 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-20 00:00:10 | 显示全部楼层
回复【83楼】ammcu
-----------------------------------------------------------------------

341可以转并口的

出0入0汤圆

发表于 2010-6-19 18:00:48 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-19 17:09:27 | 显示全部楼层
调试的时候出现一个问题,从com发送汉字时,收到的是乱码,其他各种情况都没有问题。
小弟愚笨,找不到原因,疑惑中,望高人指点,谢谢。

出0入0汤圆

发表于 2010-6-13 10:14:49 | 显示全部楼层
好帖收藏

出0入0汤圆

发表于 2010-6-13 10:14:11 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-13 09:15:08 | 显示全部楼层
很精巧的小东西........顶把

出0入0汤圆

发表于 2010-4-18 09:26:34 | 显示全部楼层
Mark

出0入0汤圆

发表于 2010-4-16 17:47:25 | 显示全部楼层
做成的转接器 联JTAGICE不能用

出0入0汤圆

发表于 2010-4-16 16:57:37 | 显示全部楼层
查找原因当中.....

出0入0汤圆

发表于 2010-4-16 16:53:52 | 显示全部楼层

(原文件名:测试.JPG)

出0入0汤圆

发表于 2010-4-16 16:53:24 | 显示全部楼层
测试有些问题,请看图

出0入0汤圆

发表于 2010-4-15 17:38:35 | 显示全部楼层
顶顶顶

出0入12汤圆

发表于 2010-4-13 11:07:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-10 10:22:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-10 09:28:50 | 显示全部楼层
请问USB 的虚拟串口能够达到 USB2.0的全速 12Mbps 吗?

硬件肯定没问题,但是上位机虚拟串口驱动怎么办呢?  

下位机的USB怎样设置串口的波特率?

出0入0汤圆

发表于 2010-3-20 14:14:24 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-20 12:12:25 | 显示全部楼层
不错。。。。。

出0入0汤圆

发表于 2010-3-17 19:59:22 | 显示全部楼层
有没有USB转并口??

出0入0汤圆

发表于 2010-3-17 17:37:58 | 显示全部楼层
USB2UART越来越常见了……

出0入0汤圆

发表于 2010-3-17 17:02:07 | 显示全部楼层
hh

出0入0汤圆

发表于 2010-3-1 01:18:18 | 显示全部楼层
回复【65楼】litteworm
-----------------------------------------------------------------------

谢谢 litteworm~

我也一直没解决这个问题,后来我是在上位机自己写了一个简易的串口程序,直接延时发送来解决这个问题的。手法很粗糙

你要是有时间的话,看看能否改进一下这个STM32 虚拟串口程序?使得大批量数据处理的时候,上位机能够等待……

出0入0汤圆

发表于 2010-2-28 23:28:17 | 显示全部楼层
回复【楼主位】lvhaian 安哥
-----------------------------------------------------------------------

mark

出0入0汤圆

 楼主| 发表于 2010-2-28 23:17:43 | 显示全部楼层
【71楼】 disheng

这个问题比较有意思, 我看看.

出0入0汤圆

发表于 2010-2-14 17:21:09 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-3 00:13:15 | 显示全部楼层
remark

出0入0汤圆

发表于 2010-1-26 19:03:53 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-26 18:51:54 | 显示全部楼层
顶一下。

出0入0汤圆

发表于 2010-1-26 18:30:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-26 18:16:27 | 显示全部楼层
非常好

出0入0汤圆

发表于 2010-1-26 16:47:22 | 显示全部楼层
HEX发送:  11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF
HEX接收到:11 22 33 44 55 66 77 08 19 2A 3B 4C 5D 6E 7F
是什么问题?有事过的吗

出0入0汤圆

发表于 2010-1-22 02:56:05 | 显示全部楼层
appwiz.cpl

出0入0汤圆

发表于 2010-1-16 00:53:53 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-15 10:21:00 | 显示全部楼层
已经做好,在测试中。

出0入0汤圆

发表于 2010-1-8 23:01:31 | 显示全部楼层
make

出0入0汤圆

发表于 2010-1-8 10:12:47 | 显示全部楼层
不错,记号。

出0入0汤圆

发表于 2010-1-7 18:26:58 | 显示全部楼层
汗一个···
好久没来了···
呵呵 都忘记了这个程序回复【59楼】STM32_Study
现在遇到了一个新问题:
当PC USB传输过来的数据需要较长时间进行处理的时候,如果等处理完再将USB端口置为有效,会导致PC端大部分串口程序都响应不过来,可能是线程阻塞了?
如果是接收到数据,使用队列FIFO缓冲,直接将USB端口置为有效,然后再处理数据,这样会造成数据包可能丢失
因为USB置为有效以后,PC马上又发下一个数据包了……
我看了一下,USB批量传输是有NAK机制的,就是如果从器件太忙了,暂时没有能力接收数据,就可以发NAK包,主机收到后,就会等一段时间再重新发
STM32的USB库带了这个机制吗??在这个范例中是否有实现这个?
-----------------------------------------------------------------------

汗一个
好久没来了
都忘记这个程序的内容了

当PC USB传输过来的数据需要较长时间进行处理的时候,如果等处理完再将USB端口置为有效,会导致PC端大部分串口程序都响应不过来,可能是线程阻塞了?
太长时间是不行的 但是 如果是两边同样的波特率转发 这个等待时间是绝对不会死掉的

如果是接收到数据,使用队列FIFO缓冲,直接将USB端口置为有效,然后再处理数据,这样会造成数据包可能丢失
USB的速率相对UART来说 快太多了 您说的是用队列FIFO缓冲吧? 那就是用ram  之前用过这个方式 但是不行的
ram最大就20K 文件大的话FIFO也撑爆啊

我看了一下,USB批量传输是有NAK机制的,就是如果从器件太忙了,暂时没有能力接收数据,就可以发NAK包,主机收到后,就会等一段时间再重新发
STM32的USB库带了这个机制吗??在这个范例中是否有实现这个?
这个就真的忘记了 丢下太久了
但是库里面是有NAK协议包的 貌似我只是用了 端口 有效无效 没有用NAK
用NAK应该是可以的 但是 不知道一直的发NAK会不会也有一个最大次数限制

出0入0汤圆

 楼主| 发表于 2010-1-7 17:09:57 | 显示全部楼层
可以啊 , 我现在就是使用 115200 波特率

出0入0汤圆

发表于 2010-1-7 15:29:38 | 显示全部楼层
波特率可以上到115200吗
ft232 上到38400就会有问题

出0入0汤圆

发表于 2009-12-2 19:36:02 | 显示全部楼层
顶顶

出0入0汤圆

发表于 2009-12-1 17:17:00 | 显示全部楼层
回去试试万利的板子

出0入0汤圆

发表于 2009-12-1 15:46:03 | 显示全部楼层
小麦,不错啊,东西,呵呵。

出0入0汤圆

发表于 2009-12-1 15:41:07 | 显示全部楼层
现在遇到了一个新问题:

当PC USB传输过来的数据需要较长时间进行处理的时候,如果等处理完再将USB端口置为有效,会导致PC端大部分串口程序都响应不过来,可能是线程阻塞了?

如果是接收到数据,使用队列FIFO缓冲,直接将USB端口置为有效,然后再处理数据,这样会造成数据包可能丢失

因为USB置为有效以后,PC马上又发下一个数据包了……


我看了一下,USB批量传输是有NAK机制的,就是如果从器件太忙了,暂时没有能力接收数据,就可以发NAK包,主机收到后,就会等一段时间再重新发

STM32的USB库带了这个机制吗??在这个范例中是否有实现这个?

出0入0汤圆

发表于 2009-12-1 08:52:08 | 显示全部楼层
好东西,马上试试

出0入0汤圆

发表于 2009-12-1 00:59:29 | 显示全部楼层
MARK

出0入0汤圆

 楼主| 发表于 2009-12-1 00:01:15 | 显示全部楼层
【55楼】 ilan2003 小松工程


不客气 老前辈.

出0入4汤圆

发表于 2009-11-30 21:32:24 | 显示全部楼层
做了些小动作,只是把USBEN的引脚修改了一下,并且对芯片的型号修改了一下,就能在万利的板子上运行了 谢谢安哥
点击此处下载 ourdev_509227.rar(文件大小:2.49M) (原文件名:Virtual_COM_Port.rar)

出0入0汤圆

发表于 2009-11-30 11:39:18 | 显示全部楼层
usb转串口死机我也遇到
不过我的是电脑直接重启
现象是用我自己编写的串口调试软件,用usb转串口,不论波特率多少,也不是收到很多数,开始收数后大概2,3秒后电脑重启,如果打开了串口但没有收到数据,多长时间也不重启
还有一个用labview编的串口程序也是同样的现象

但是用丁丁的软件没问题
用原生串口就都没问题

我的软件是用api操作的串口,因为控件太慢了

出100入0汤圆

发表于 2009-11-30 11:06:31 | 显示全部楼层
顶一个

出0入0汤圆

 楼主| 发表于 2009-11-29 22:45:48 | 显示全部楼层
【50楼】 eiglxl

谢谢你的建议, 我修改掉.


【51楼】 yemingxp  

可以购买, 我的淘宝店就有.

出0入0汤圆

发表于 2009-11-29 21:44:12 | 显示全部楼层
可以买吗?可以下载调试程序吗?谢谢

出0入168汤圆

发表于 2009-11-29 21:12:37 | 显示全部楼层
/* Configure USART1 Rx (PA.10) as input floating */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; 这一句改成上拉好些,要不然用手摸到Rx脚都会有数据。
  GPIO_Init(GPIOA, &GPIO_InitStructure);

出0入0汤圆

发表于 2009-11-29 21:09:12 | 显示全部楼层
这个要做,顶楼主

出0入0汤圆

 楼主| 发表于 2009-11-29 21:00:32 | 显示全部楼层
【43楼】 STM32_Study  

这几天实在没有时间看这个, 过几天一起讨论.

【46楼】 lusson  

这个问题我之前就考虑过, 不过很可惜是不可行的, 除非像  FT232 芯片那家公司一样自己写 windows 驱动.

我之前想的最简单的方法就是用个 usb hub 芯片 加四片 STM32F103C6T6 .

现在才明白还是有问题的. windows 会崩溃的, 好久不见的 XP  下的蓝屏.

出0入0汤圆

发表于 2009-11-29 20:13:59 | 显示全部楼层
先谢谢,估计以后会用到

出0入54汤圆

发表于 2009-11-28 23:50:38 | 显示全部楼层
安哥,可以用一片这个虚拟几个串口吗?比如C6T6有3个硬串口,我们可以虚拟出3个出来吗?
还有好象STM32里没有全串口,在用那些无源232转485的时候好象会有问题.

出0入0汤圆

发表于 2009-11-28 17:42:38 | 显示全部楼层
跟着学习

出0入0汤圆

发表于 2009-11-28 17:33:16 | 显示全部楼层
跟着学习

出0入0汤圆

发表于 2009-11-28 15:25:36 | 显示全部楼层
新的一天又开始啦

继续研究 STM32 USB CDC

代码中,使用了Queue中间件

对于Queue的数据结构,我有一点疑问

在QueueCreate函数中,读取空处理和写满处理的声明是这样的:
uint8_t (* ReadEmpty)()
uint8_t (* WriteFull)()

但具体的调用的格式是这样的:
err = Queue->ReadEmpty(Ret, Queue);
err = Queue->WriteFull(Queue, Data, Q_WRITE_MODE);

实际的函数声明是这样的:
u8 QueueWriteFull(DataQueue *Buf, QUEUE_DATA_TYPE Data, u8 Mod)

这样不会出错吗?好像实际编译并没有报错?

函数指针的形参不一致也可以调用的吗?

出0入0汤圆

 楼主| 发表于 2009-11-27 16:13:18 | 显示全部楼层
哦 ^_^, 大量数据和串口的驱动有关的

毕竟超级终端 微软自己编写的.

不过超级终端是超级稳定. 他的几个协议也是超级稳定.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 00:44

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表