低功耗设计,关闭外设用什么样的电路好?

2020-01-21 21:35发布

最近设计个东西,外设比较费电,打算不使用的时候直接断电算了
外设是3.3V和5V的
之前没设计过,以前就做过液晶背光控制,直接拿个三极管
然后前端时间看到说有用mos管的,找了一通也没找到合适的电路。。。
求教大家了~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
28条回答
YZ_SQS
1楼-- · 2020-01-11 04:15
这个是CANTEST接收到的数据 第一个是STM发送的数据     第二第三是下面返回的数据  STM32只接收到了 第二个数据     第三个数据没接受到    第二第三个数据的时间间隔基本没有。。。
YZ_SQS
2楼-- · 2020-01-11 05:01
发现了一个问题       命令下发是8秒一次    然后只识别第一个接收的数据    然后在第三次的时候两个命令返回时调了个头    我设置的是识别一次则做一次标志
gaolf_2012
3楼-- · 2020-01-11 07:06
 精彩回答 2  元偷偷看……
think_a_second
4楼-- · 2020-01-11 08:59
1. 间隔理解不对。既然发送者能发出来,必定有时间间隔。同一总线内,最少间隔也等于帧长*波特率吧。CAN分析仪的时间认为是同一毫秒内的,你的波特率设置很高?测试时把各级波特率设小点,也排除一下终端电阻问题。
2. STM32 CAN本身有3个接收缓冲区,接收2帧不成问题的。中断函数要尽量短,只把数据放入缓冲区,有空再在主程序读。
YZ_SQS
5楼-- · 2020-01-11 12:07
目前已解决     解决的办法是 中断配置   CAN_ITConfig(CAN1,CAN_IT_FMP0 | CAN_IT_FF0 | CAN_IT_FOV0,ENABLE);     然后中断函数最后用                                         if(SET == CAN_GetITStatus(CAN1,CAN_IT_FF0))         //???
                                         {
                                                                CAN_ClearITPendingBit(CAN1,CAN_IT_FF0);

                                         }
                                         else if(SET == CAN_GetITStatus(CAN1,CAN_IT_FOV0))  //????
                                         {
                                                                CAN_ClearITPendingBit(CAN1,CAN_IT_FOV0);

                                         }         
                                         else        if(SET == CAN_GetITStatus(CAN1 , CAN_IT_FMP0))         //1?????
                                         {
                                                 CAN_ClearITPendingBit(CAN1 , CAN_IT_FMP0);
                                                }
结尾
YZ_SQS
6楼-- · 2020-01-11 16:54
主要还是我对底层的配置不够熟悉     通过阅读此人的csdn博客了解的    附网址:https://blog.csdn.net/flydream0/article/list/4?t=1

一周热门 更多>