-
高!
-
如果USART3经过重映射之后,USART3的信号与引脚的对应关系变为:
USART3_TX -> PC10
USART3_RX -> PC11
USART3_CK -> PC12
USART3_CTS -> PB13
USART3_RTS -> PB14
同理,只要不使能CK、CTS和RTS的功能,你照样可以使用PC12、PB13和PB14的其它复用功能。
-
第一次下载不是那么容易的事情,慢慢检查吧。电路,波特率选择默认的,119200. 一般都选默认的。
-
用BUSHOUND检测了一下,这PC端启动接收线程的时候没有下发什么东西。
我用的是友坚(urbetter)的6410开发板,
跟踪了一下,lpIssueTransfer指向UfnMdd_IssueTransfer(),再调用CPipeBase::IssueTransfer()再调用PDD层(PLATFORM\SMDK6410\SRC\DRIVERS\OTG\Device\s3c6410otgdevice.cpp)的UfnPdd_IssueTransfer(),再调用StartTransfer()。
StartTransfer()仅配置了寄存器,并使能中断。
接收到中断后,PDD层的中断服务线程ISTMain()调用HandleUSBEvent(),再调用HandleEndpointEvent(),再调用HandleTx()。HandleTx()函数负责把传入的数据写入FIFO。
ISTMain()系列函数与IssueTransfer()系列函数属于同一进程的不同线程(以下分别称为IST线程和caller线程),但他们的访问权限和虚拟地址应该是相同的,我想不会构成问题。
如果先启动6410的发送线程,则caller线程内查看要发送的数据一直是1,而在IST线程内查看要发送的数据则是0(我在HandleEndpointEvent内打印的数据,我相信更往前一些也一样),因此写到FIFO内的数据为0也就不奇怪了。
如果先启动PC端的接收线程,则在两个线程内查看要发送的数据都是1,接收到的也是1。
我想问题应该出在s3c6410otgdevice.cpp内,不知道友坚的工程师有没有进行过这方面的测试,看看是共性还是我的个例。如果坛子上正好有,烦请测试一下使用端点1,bulk in上传。
-
你的定位是嵌入式驱动程序设计,需要以下一些知识:
基础的:
1.学好C语言
2.学好单片机方面的基础知识
3.学习硬件基础知识,比如串口、SPI、I2C、SRAM、DRAM、EEPROM等
进阶的:
4.学习嵌入式操作系统方面的知识,比如uCOS,Linux,WINCE等
5.基于操作系统的驱动程序设计
-
没有用过stc的,avr的芯片是开发工具统一!产品系列比较全!但是价格相对偏高!稳定性好!
-
谢谢各位
-
好文,顶一下。。
-
引用 7 楼 jzyjzy 的回复:
啊,怎么就卖了呢,我都留着咯,,好东西就留着啊。
过段时间,我想把俺的idea6410 卖了!
-
图片看不了,给个链接也行啊
-
sizeof()
-
时代在进步啊!
-
应该是驱动有问题,USB设备搞不好的时候都会这样,估计驱动写得不太好
-
顶起来,现在好多ce设备都要求支持skype
-
看了下别人的论坛,学单片机大致两个方面(板子暂时不考虑):
1.书籍资料方面:
《单片机原理与应用》主编:张毅刚;
51单片机应用设计与仿真--基于KEIL C与PROTEUS;
《51单片机应用从零开始》;
十天学会单片机和C语言。。。
2.软件方面:
keil_c51,伟福编程软件;
Multisim。。。
请问高手还有比这更好的方式么,请补充,谢谢。。。
-
字符需要转换
单字节双字节
-
除了界面新颖一点没发现什么好处,连上下滚屏都不行,只能通过拖动光标来实现,不爽
-
呵呵 祝有好运气
-
现在一切准备好了,就等设置了。
-
用usb连接方式吧模拟串口吧接法简单,大部分厂商都做usb dongle. 中兴呀华为呀