machine: add PG* and PK* pins
They're used for LEDs on the STM32F469-Discovery board.
Этот коммит содержится в:
		
							родитель
							
								
									55ca5287fe
								
							
						
					
					
						коммит
						302e72e84f
					
				
					 2 изменённых файлов: 43 добавлений и 20 удалений
				
			
		|  | @ -19,6 +19,7 @@ const ( | ||||||
| 	portH | 	portH | ||||||
| 	portI | 	portI | ||||||
| 	portJ | 	portJ | ||||||
|  | 	portK | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // Peripheral operations sequence: | // Peripheral operations sequence: | ||||||
|  |  | ||||||
|  | @ -116,6 +116,23 @@ const ( | ||||||
| 	PF14 = portF + 14 | 	PF14 = portF + 14 | ||||||
| 	PF15 = portF + 15 | 	PF15 = portF + 15 | ||||||
| 
 | 
 | ||||||
|  | 	PG0  = portG + 0 | ||||||
|  | 	PG1  = portG + 1 | ||||||
|  | 	PG2  = portG + 2 | ||||||
|  | 	PG3  = portG + 3 | ||||||
|  | 	PG4  = portG + 4 | ||||||
|  | 	PG5  = portG + 5 | ||||||
|  | 	PG6  = portG + 6 | ||||||
|  | 	PG7  = portG + 7 | ||||||
|  | 	PG8  = portG + 8 | ||||||
|  | 	PG9  = portG + 9 | ||||||
|  | 	PG10 = portG + 10 | ||||||
|  | 	PG11 = portG + 11 | ||||||
|  | 	PG12 = portG + 12 | ||||||
|  | 	PG13 = portG + 13 | ||||||
|  | 	PG14 = portG + 14 | ||||||
|  | 	PG15 = portG + 15 | ||||||
|  | 
 | ||||||
| 	PH0  = portH + 0 | 	PH0  = portH + 0 | ||||||
| 	PH1  = portH + 1 | 	PH1  = portH + 1 | ||||||
| 	PH2  = portH + 2 | 	PH2  = portH + 2 | ||||||
|  | @ -149,6 +166,23 @@ const ( | ||||||
| 	PI13 = portI + 13 | 	PI13 = portI + 13 | ||||||
| 	PI14 = portI + 14 | 	PI14 = portI + 14 | ||||||
| 	PI15 = portI + 15 | 	PI15 = portI + 15 | ||||||
|  | 
 | ||||||
|  | 	PK0  = portK + 0 | ||||||
|  | 	PK1  = portK + 1 | ||||||
|  | 	PK2  = portK + 2 | ||||||
|  | 	PK3  = portK + 3 | ||||||
|  | 	PK4  = portK + 4 | ||||||
|  | 	PK5  = portK + 5 | ||||||
|  | 	PK6  = portK + 6 | ||||||
|  | 	PK7  = portK + 7 | ||||||
|  | 	PK8  = portK + 8 | ||||||
|  | 	PK9  = portK + 9 | ||||||
|  | 	PK10 = portK + 10 | ||||||
|  | 	PK11 = portK + 11 | ||||||
|  | 	PK12 = portK + 12 | ||||||
|  | 	PK13 = portK + 13 | ||||||
|  | 	PK14 = portK + 14 | ||||||
|  | 	PK15 = portK + 15 | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| func (p Pin) getPort() *stm32.GPIO_Type { | func (p Pin) getPort() *stm32.GPIO_Type { | ||||||
|  | @ -171,6 +205,10 @@ func (p Pin) getPort() *stm32.GPIO_Type { | ||||||
| 		return stm32.GPIOH | 		return stm32.GPIOH | ||||||
| 	case 8: | 	case 8: | ||||||
| 		return stm32.GPIOI | 		return stm32.GPIOI | ||||||
|  | 	case 9: | ||||||
|  | 		return stm32.GPIOJ | ||||||
|  | 	case 10: | ||||||
|  | 		return stm32.GPIOK | ||||||
| 	default: | 	default: | ||||||
| 		panic("machine: unknown port") | 		panic("machine: unknown port") | ||||||
| 	} | 	} | ||||||
|  | @ -178,26 +216,10 @@ func (p Pin) getPort() *stm32.GPIO_Type { | ||||||
| 
 | 
 | ||||||
| // enableClock enables the clock for this desired GPIO port. | // enableClock enables the clock for this desired GPIO port. | ||||||
| func (p Pin) enableClock() { | func (p Pin) enableClock() { | ||||||
| 	switch p / 16 { | 	bit := p / 16 | ||||||
| 	case 0: | 	if 0 <= bit && bit <= 10 { | ||||||
| 		stm32.RCC.AHB1ENR.SetBits(stm32.RCC_AHB1ENR_GPIOAEN) | 		stm32.RCC.AHB1ENR.SetBits(0b1 << bit) | ||||||
| 	case 1: | 	} else { | ||||||
| 		stm32.RCC.AHB1ENR.SetBits(stm32.RCC_AHB1ENR_GPIOBEN) |  | ||||||
| 	case 2: |  | ||||||
| 		stm32.RCC.AHB1ENR.SetBits(stm32.RCC_AHB1ENR_GPIOCEN) |  | ||||||
| 	case 3: |  | ||||||
| 		stm32.RCC.AHB1ENR.SetBits(stm32.RCC_AHB1ENR_GPIODEN) |  | ||||||
| 	case 4: |  | ||||||
| 		stm32.RCC.AHB1ENR.SetBits(stm32.RCC_AHB1ENR_GPIOEEN) |  | ||||||
| 	case 5: |  | ||||||
| 		stm32.RCC.AHB1ENR.SetBits(stm32.RCC_AHB1ENR_GPIOFEN) |  | ||||||
| 	case 6: |  | ||||||
| 		stm32.RCC.AHB1ENR.SetBits(stm32.RCC_AHB1ENR_GPIOGEN) |  | ||||||
| 	case 7: |  | ||||||
| 		stm32.RCC.AHB1ENR.SetBits(stm32.RCC_AHB1ENR_GPIOHEN) |  | ||||||
| 	case 8: |  | ||||||
| 		stm32.RCC.AHB1ENR.SetBits(stm32.RCC_AHB1ENR_GPIOIEN) |  | ||||||
| 	default: |  | ||||||
| 		panic("machine: unknown port") | 		panic("machine: unknown port") | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
		Загрузка…
	
	Создание таблицы
		
		Сослаться в новой задаче
	
	 Elias Naur
						Elias Naur