你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 485|回复: 1

STM32使用感悟

[复制链接]

1

主题

3

回帖

0

蝴蝶豆

初级会员

最后登录
2020-7-21
发表于 2015-1-29 17:35:33 | 显示全部楼层 |阅读模式
1. 官方OTG库写的不错,他的框架是while循环调用的状态机,大量的中断来驱动数据收发和设备拔插。官方的HID,Mass class类驱动都是要人工加载,而不是自动识别的,这个不太好。

2. 为了应用程序可移植性,一般我都是自己重写驱动。对stm32的otg host模式有些感悟:
.能轮询的东西就不用中断, 比如检测device拔插,对实时性没啥要求,用中断没意思,还会造成系统状态机复杂化
. stm32的中断有两种,一种是全局中断GINTSTS,比如设备拔插,发送缓冲区空,接收缓冲区满等。一种是通道中断HCINT(0..7),里面包括通道trnansaction成功,ack,nak,stall反馈等。所以对于收发数据,需要根据GINTSTS中断来决定读写数据,从HCINT获取transaction是否结束或者失败。这个搞清楚了,这个驱动就没什么难度了。

另外有个疑问:
目前发现stm32的接收行为,是写一次HCCHAR寄存器,他发一个IN token,无论收到nak还是ack,后面都停下来了。
有没有一种模式,写一次HCCAHR命令,他能一直工作到ack为止,如果收到nak,他就不不停的IN?这对于网卡接收数据是至关重要的。
<
回复

使用道具 举报

17

主题

314

回帖

0

蝴蝶豆

金牌会员

最后登录
2019-12-29
发表于 2015-1-29 22:17:54 来自手机 | 显示全部楼层
看到,就得回复
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版