电赛培训-23-07-06

ESP32

中断

中断处理程序不要运行时间过长,不要分配内存

紧急异常缓冲区

如果ISR中发生错误,MicroPython无法生成错误报告
除非创建特殊缓冲区

1
2
import micropython
micropython.alloc_emergency_exception_buf(100)

UART

esp32有三个硬件UART,分别是UART0,UART1,UART2
各自分配了默认GPIO
TX:当前设备的发送
RX:当前设备的接收
串口中不分主从

1
2
3
from machine import UART
uart1 = (1,baudrate=9600,tx=33,rx=32)#指定了id

任何GPIO都可以用于使用GPIO矩阵的硬件UART,除了可以用作rx的仅输入引脚34-39
发送与接受的波特率一样

一种调试方法:不能使用调试器时,可以利用串口输出进行调试。

ADC

1
2
3
4
from machine import ADC
adc = ADC(pin)
val = adc.read_u16()
val = adc.read_uv()# to microvolts

ADC2也被wifi使用,所以开启wifi时会发生adc2异常

定时器

Timer.init(*,mode=Timer.PERIODIC,period=-1,callback=None)

  • mode 可以是ONE_SHOT或PERIODIC(单次或周期计时)

PWM


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!