PWM问题
由于需要做外部传感器的触发同步,所以需要一个方波,考虑用Xavier的PWM,结果折腾了好久发现需要配置内部硬件,折腾了好久也没折腾好。想自己折腾的参考别的博客,主要搜索pinmux这玩意。
解决方法
1.参考pinmux相关教程配置Xavier硬件。
2.用GPIO高低电平翻转实现方波。由于本人的外部同步触发要求没那么严格,所以直接使用的此方法。
具体代码如下:
import Jetson.GPIO as GPIO
import time
import datetime
PWM_PIN = 29
if __name__ == '__main__':
GPIO.setwarnings(False)
GPIO.cleanup()
GPIO.setmode(GPIO.BOARD)
GPIO.setup(PWM_PIN, GPIO.OUT, initial=GPIO.LOW)
curr_value = GPIO.LOW
try:
while True:
GPIO.output(PWM_PIN, curr_value)
curr_value ^= GPIO.HIGH
print(curr_value)
#提醒一下此处的sleep,尽量用小数,别用分数
time.sleep(0.05) #10HZ
finally:
GPIO.cleanup()
GPIO问题
本来用GPIO写简易的PWM方波输出很容易。但是在外部触发相机的时候发现触发不了。因为一开始我用的引脚都是被人博客中介绍的12 13 15 18这几个,但是恰巧这几个IO口是板子里有下拉电阻的,导致输出驱动不了相机的外触发。(PS:因为这个问题,把信号发生器,示波器,逻辑分析仪都搬出来了,最终觉得是驱动能力不足,打算外接上拉电阻或放大电路,就在最后挣扎一下查找资料的时候找到了如下解决方案)
解决方法
经过一系列查找资料,发现,29引脚是内部有100K的上拉电阻的。把引脚更换为29号直接解决问题。