想做一个以tm4c123gh6pm作为主机驱动一个u盘,修改的是TivaWare_C_Series-2.1.2.111\examples\boards\dk-tm4c123g\usb_host_msc这个例子,把显示和按键目录操作相关的程序去掉,但检测不到u盘设备(调试g_eState的状态一直是没有设备),希望高人指点
链接是我修改的后的代码:http://pan.baidu.com/s/1c1XhFnM
Maka Luo:
直接使用TI例程也是一样的问题,我之前测试TM4C129X那个是没有问题的。
xiaofeng su:
回复 Maka Luo:
您好,请问上面接u盘的方式有问题吗?你说的tm4c129的那个程序我改了下,程序中drivers目录下有个pinout.c好像是针对tm4c129的USB和LED等功能引脚的设置,与tm4c123应该是不相通的吧,我把这个目录删除之后在主程序中添加了针对tm4c123的时钟和usb管脚的设置如下:
// // Set the system clock to run at 50MHz from the PLL. // ROM_SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ);
ConfigureUART();
// 使能与USB相关的 GPIO管脚 ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); ROM_GPIOPinConfigure(GPIO_PC6_USB0EPEN); ROM_GPIOPinTypeUSBDigital(GPIO_PORTC_BASE, GPIO_PIN_6); ROM_GPIOPinTypeUSBAnalog(GPIO_PORTD_BASE, GPIO_PIN_4 | GPIO_PIN_5); ROM_GPIOPinTypeUSBAnalog(GPIO_PORTB_BASE, GPIO_PIN_0 | GPIO_PIN_1);
然后修改了项目属性中的关键字,但是还是提示设备没有准备
xiaofeng su:
回复 Maka Luo:
您好,问一下,tm4c做主机识别U盘的连线是这样连吗?我按照你说的修改129的那个程序,烧写到123不行啊
xyz549040622:
回复 xiaofeng su:
你仔细对比下129 otg的接口和TM4C123x的接口,看看两者是否是一样的。123的USB口应该只引出了D+和D-两个引脚,OTG是否还需要别的引脚呢?
xiaofeng su:
回复 xyz549040622:
恩恩,谢谢提示,管脚和电路的原理图之前都看过和比较过了,做了些修改但还是不行
LI LI38:
回复 xiaofeng su:
我尝试把PB1和板子左下角的+VBUS脚用一根线直连之后,USB Host Mouse是可以工作的,但是应该不是正确的做法,不知道为何PB1未供电。