machine/rp2040: gpio and adc pin definitions
Этот коммит содержится в:
родитель
1f5e4e79aa
коммит
95af444896
3 изменённых файлов: 72 добавлений и 42 удалений
|
@ -4,45 +4,35 @@ package machine
|
|||
|
||||
// GPIO pins
|
||||
const (
|
||||
GP0 Pin = 0
|
||||
GP1 Pin = 1
|
||||
GP2 Pin = 2
|
||||
GP3 Pin = 3
|
||||
GP4 Pin = 4
|
||||
GP5 Pin = 5
|
||||
GP6 Pin = 6
|
||||
GP7 Pin = 7
|
||||
GP8 Pin = 8
|
||||
GP9 Pin = 9
|
||||
GP10 Pin = 10
|
||||
GP11 Pin = 11
|
||||
GP12 Pin = 12
|
||||
GP13 Pin = 13
|
||||
GP14 Pin = 14
|
||||
GP15 Pin = 15
|
||||
GP16 Pin = 16
|
||||
GP17 Pin = 17
|
||||
GP18 Pin = 18
|
||||
GP19 Pin = 19
|
||||
GP20 Pin = 20
|
||||
GP21 Pin = 21
|
||||
GP22 Pin = 22
|
||||
GP23 Pin = 23
|
||||
GP24 Pin = 24
|
||||
GP25 Pin = 25
|
||||
GP26 Pin = 26
|
||||
GP27 Pin = 27
|
||||
GP28 Pin = 28
|
||||
GP29 Pin = 29
|
||||
GP0 Pin = GPIO0
|
||||
GP1 Pin = GPIO1
|
||||
GP2 Pin = GPIO2
|
||||
GP3 Pin = GPIO3
|
||||
GP4 Pin = GPIO4
|
||||
GP5 Pin = GPIO5
|
||||
GP6 Pin = GPIO6
|
||||
GP7 Pin = GPIO7
|
||||
GP8 Pin = GPIO8
|
||||
GP9 Pin = GPIO9
|
||||
GP10 Pin = GPIO10
|
||||
GP11 Pin = GPIO11
|
||||
GP12 Pin = GPIO12
|
||||
GP13 Pin = GPIO13
|
||||
GP14 Pin = GPIO14
|
||||
GP15 Pin = GPIO15
|
||||
GP16 Pin = GPIO16
|
||||
GP17 Pin = GPIO17
|
||||
GP18 Pin = GPIO18
|
||||
GP19 Pin = GPIO19
|
||||
GP20 Pin = GPIO20
|
||||
GP21 Pin = GPIO21
|
||||
GP22 Pin = GPIO22
|
||||
GP26 Pin = GPIO26
|
||||
GP27 Pin = GPIO27
|
||||
GP28 Pin = GPIO28
|
||||
|
||||
// Onboard LED
|
||||
LED Pin = GP25
|
||||
|
||||
// Analog pins
|
||||
ADC0 = GP26
|
||||
ADC1 = GP27
|
||||
ADC2 = GP28
|
||||
ADC3 = GP29
|
||||
LED Pin = GPIO25
|
||||
|
||||
// Onboard crystal oscillator frequency, in MHz.
|
||||
xoscFreq = 12 // MHz
|
||||
|
|
|
@ -7,6 +7,46 @@ import (
|
|||
_ "unsafe"
|
||||
)
|
||||
|
||||
const (
|
||||
// GPIO pins
|
||||
GPIO0 Pin = 0
|
||||
GPIO1 Pin = 1
|
||||
GPIO2 Pin = 2
|
||||
GPIO3 Pin = 3
|
||||
GPIO4 Pin = 4
|
||||
GPIO5 Pin = 5
|
||||
GPIO6 Pin = 6
|
||||
GPIO7 Pin = 7
|
||||
GPIO8 Pin = 8
|
||||
GPIO9 Pin = 9
|
||||
GPIO10 Pin = 10
|
||||
GPIO11 Pin = 11
|
||||
GPIO12 Pin = 12
|
||||
GPIO13 Pin = 13
|
||||
GPIO14 Pin = 14
|
||||
GPIO15 Pin = 15
|
||||
GPIO16 Pin = 16
|
||||
GPIO17 Pin = 17
|
||||
GPIO18 Pin = 18
|
||||
GPIO19 Pin = 19
|
||||
GPIO20 Pin = 20
|
||||
GPIO21 Pin = 21
|
||||
GPIO22 Pin = 22
|
||||
GPIO23 Pin = 23
|
||||
GPIO24 Pin = 24
|
||||
GPIO25 Pin = 25
|
||||
GPIO26 Pin = 26
|
||||
GPIO27 Pin = 27
|
||||
GPIO28 Pin = 28
|
||||
GPIO29 Pin = 29
|
||||
|
||||
// Analog pins
|
||||
ADC0 Pin = GPIO26
|
||||
ADC1 Pin = GPIO27
|
||||
ADC2 Pin = GPIO28
|
||||
ADC3 Pin = GPIO29
|
||||
)
|
||||
|
||||
//go:linkname machineInit runtime.machineInit
|
||||
func machineInit() {
|
||||
// Reset all peripherals to put system into a known state,
|
||||
|
|
|
@ -22,7 +22,7 @@ func InitADC() {
|
|||
// Configure configures a ADC pin to be able to be used to read data.
|
||||
func (a ADC) Configure(config ADCConfig) {
|
||||
switch a.Pin {
|
||||
case GP26, GP27, GP28, GP29:
|
||||
case ADC0, ADC1, ADC2, ADC3:
|
||||
a.Pin.Configure(PinConfig{Mode: PinAnalog})
|
||||
default:
|
||||
// invalid ADC
|
||||
|
@ -47,13 +47,13 @@ func waitForReady() {
|
|||
|
||||
func (a ADC) getADCChannel() uint8 {
|
||||
switch a.Pin {
|
||||
case GP26:
|
||||
case ADC0:
|
||||
return 0
|
||||
case GP27:
|
||||
case ADC1:
|
||||
return 1
|
||||
case GP28:
|
||||
case ADC2:
|
||||
return 2
|
||||
case GP29:
|
||||
case ADC3:
|
||||
return 3
|
||||
default:
|
||||
return 0
|
||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче