钻石会员
  
主题
帖子
积分11939
阅读权限50
注册时间2012-3-2
最后登录1970-1-1
在线时间 小时
|

楼主 |
发表于 2022-2-4 22:59
|
显示全部楼层
本帖最后由 cdhigh 于 2022-2-4 23:09 编辑
问题已经解决,我将图中的R1(10欧姆)取掉就没有上电脉冲放电了。
是软件端口初始化的问题:
之前的代码是这样的,初衷时初始化时拉低PB0(图中的PRO引脚),但是切换DDRB会导致输出一个很窄的脉冲。
- DDRB = 0b00000111; //PB0-PRO,PB1-PWM1,PB2-RaPWM,PB3-Encoder-A,PB4-Encoder-B,PB5-Encoder-C,PB6-unused,PB7-unused
- PORTB = 0b00111000;
复制代码
改成这样就好了,正确的做法是先初始化PORT,再初始化DDR,现在全部改过来了 这部分代码直接使用M8V6的原代码,没有仔细修改,
现在再回头翻看我的M328V7数控电源的初始化代码,都是先初始化PORT,再初始化DDR的,所以没有这个问题。
论坛的代码格式功能有问题,编辑了很多次都是乱的,要不会丢一行,干脆两行单独写
|
|