风扇备忘
一、初试四线风扇 买了个风扇,4线的:红、黑、黄、蓝。按照商家的介绍是:红(+)、黑(-)、黄(FC)、蓝(PWM) 分别利用树莓派上面的PWM1和PWM0(副)进行了一下测试,都可以正常工作。 之所以在使用PWM0时用的副引脚,而没有使用PWM0的主引脚,是之前没有看到,主引脚距离现在用到的这些引脚也挺远的,就不准备再调整了。 至于FC反馈,也各自尝试了一下,没有问题。 接下来再买一个风扇,然后就尝试一下两个风扇同时、分别用pwm0和pwm1一起驱动,看看效果。 二、两套风扇同时应用 还真是“一步一坑”哈。今天第二个风扇到货了,我就忙不迭的也装了上去。结果两个风扇运行起来,发现存在着一些问题:其中总有一个风扇会“失速”。而且一旦进入失速状态,除非重启电脑,否则无论是停掉进程再启动、还是重新电脑上的服务,都不能让已经进入“失速”状态的风扇,重新回到正常状态。
关于GPIO4引脚的设置和更改
toor@raspberrypi:~ $ pinctrl get 44: ip pu | hi // GPIO4 = inputtoor@raspberrypi:~ $ pinctrl set 4 dhCan’t set pin value, not an outputtoor@raspberrypi:~ $ pinctrl set…
串口通信(1)
我想用树莓派与传感器连接,完成控制与通信。 一、起初,能发出正确的指令、但接收到的是远超9字节的返回,且发出的正确指令并非每一次都能成功发出 经过排查,我将怀疑重点定在了自己使用的是miniuart上,通过从/dev/ttyS0向/dev/ttyAMA0的调整,问题得到了一定程度的缓解。 然而这一调整也许是非必要的,原因在于:经过这一调整问题虽有缓解、但依然没有彻底解决。直到做了其它调整之后,问题才彻底解决。所以也许从一开始就做“其他调整”的话,也许在/dev/ttyS0上,也能得到正确、理想的解决。 二、换到/dev/ttyAMA0之后,能正确发出命令、能正确的收到回复。然而发出命令并非每一次都能成功,收到的回复也并非每一次都能收到,即便收到了回复,也不完整 尤其是收到的回复信息很奇怪,总会丢掉最初的3个字节。例如预期收到123456789,实际收到的或者收不到、或者就是只能收到456789。 几经排查,最终发现是agetty进程在竞争使用/dev/ttyAMA0资源。并且这个agetty进程不仅仅是竞争使用、而且似乎是在不断地改变波特率(它可能是在几个常用波特率之间进行变化以扫描可能来临的登录请求)。 /sbin/agetty -o -p — \u –keep-baud 115200,57600,38400,9600 – vt22 正是因为它在不断地改变波特率,所以我的程序即便内部设置了19200的波特率,程序在发出或接收数据的时候,依然会因为波特率在变化,导致首发信息一会儿正常、一会儿异常;而且在“偶尔正常时”,收到的数据也会被agetty进程“吃掉一些字节”。 三、通过设置解决问题 在raspi-config关于“串口”的设置中,我发现它有2个问询对话:是否支持串口登录、是否激活串口。我之前应该是没有注意到这两个问题,全部选择了“是”引起agetty被启动激活。 关闭“支持串口登录”、使能“支持串口”,问题得到解决。此刻,我从树莓派向外部设备发出指令、已经可以正常的接收到预期的回复内容了。 以上是我关于当前这个问题产生的整个过程的记录、猜测,以及解决方法。