打印

stm32 ch375b u盘

[复制链接]
3572|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mochou|  楼主 | 2011-7-18 20:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位,大侠这段时间在调试stm32 通过CH375b 读写U盘的程序,原来有程序可以读写U盘的程序。现在在原来的基础上改动了下,就是将来的数据有PA0~PA7 改为PD8~PD15控制口没有不变.今天调试时,死活检测不到U盘。请各位大侠给支下招,后天就要给客户发样机试用,只剩下这一个问题了。数据口的定义由#define SET_DATA375(dat) GPIOA->BSRR=(dat|(((~dat)<<16)))更改为#define SET_DATA375(uDat)   GPIOD->BSRR= (uDat<<8|(((~uDat)<<24))) 。大家看看由什么问题。
沙发
mochou|  楼主 | 2011-7-19 08:14 | 只看该作者
顶下,

使用特权

评论回复
板凳
liaowei230509| | 2011-7-19 08:55 | 只看该作者
GPIOD->BSRR= (uDat|((((~uDat)&0xff)<<16)))
GPIOD->BSRR= (uDat<<8|((((~uDat)&0xff)<<24)))

使用特权

评论回复
地板
mochou|  楼主 | 2011-7-19 10:10 | 只看该作者
读数据位的函数由原来的#define GET_DATA375()                (GPIOA->IDR&0xff)更改为
#define GET_DATA375()                (u8)((GPIOD->IDR&0xFF00)>>8)大家看看有没有什么问题。

使用特权

评论回复
5
liaowei230509| | 2011-7-19 12:04 | 只看该作者
自信点,没问题的,不过直接(u8)(GPIOD->IDR>>8) 就行了,你那样写编译器也会给你优化的吧

使用特权

评论回复
6
香水城| | 2011-7-19 12:15 | 只看该作者
所有的初始化是否也从GPIOA改到了GPIOD?

使用特权

评论回复
7
mochou|  楼主 | 2011-7-19 14:09 | 只看该作者
原来不行现在可以了,还是按照我上面的初始化来的,同样的设置前几不行,今天就是重新跳线到pa口后可以,在重连接到PD口的高8位就可以了,有些奇怪了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

58

主题

1423

帖子

8

粉丝