-
Notifications
You must be signed in to change notification settings - Fork 5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
建议在设备接口底层增加init/deinit功能的接口,在设备关闭的时候省电、省电、省电(强烈建议) #611
Comments
给出具体说明吧 另外,底层设备接口本身就有open/close操作,这个里面也可以关闭设备时钟,电源。 |
我用串口操作一个模块,在不用的时候直接拉闸顺便close device,目前的处理是关闭中断,如果在这里关闭时钟感觉不太规范。 |
有个ioctl的接口 |
建议底层增加init(rt_device_t dev, int state)实现打开关闭的操作 |
|
这个是借鉴stm32标准外设库的init/deinit,为了省个接口用参数表示操作类型。至于接口的名称和使用方式可以再商量嘛,我只希望能增加 开启-关闭 外设的操作 |
开启、关闭就open/close啊 |
close后并没有关闭外设控制器,我希望能把外设控制器也关了 |
你在底层驱动的close接口中处理 |
struct rt_uart_ops 对于grissiom看法:“init(rt_device_t dev, int state) 看起来是初始化的,不是开关闭的……”。 |
On Mon, Mar 7, 2016 at 9:26 AM, heyuanjie87 notifications@github.com
Cheers, |
这。。。。。。。 |
2016-03-08 9:23 GMT+08:00 heyuanjie87 notifications@github.com:
Keep It Simple, Stupid. Cheers, |
熊老大出来主持公道到底咋整,ioctl不赞成,我已经两次因为需要去添加关闭接口了。 |
呃,要不我们找个时间在网上音频pk下吧,我还没弄明白啥意思。 |
在以前的处理中关闭设备仅禁止了中断,为了省电我希望能把外设控制器也禁用掉,目前没提供这样的底层接口。 |
你在close里添加关闭外设函数的不可以(就是由close主动调用)?单独把那个列出来会不会破坏原来的统一标准。 |
有点意思,对于开发者来说,是给鱼还是给渔是个问题,好久没有关注这里了 |
https://club.rt-thread.org/ask/question/432345.html 5年之后又有人提出这个问题了 |
我的理解应该是 driver 在 close 的时候需要调用 HAL_xxx_DeInit |
init方法会永久将RT_DEVICE_FLAG_ACTIVATED位置1,即便close掉了,也依然标明这个外设被激活了,并没有对应deinit方法将RT_DEVICE_FLAG_ACTIVATED重新置0 |
No description provided.
The text was updated successfully, but these errors were encountered: