-
Data: 2022-07-26 09:40:55
Temat: Re: STM32 i HAL -- pierwsze podejście, pierwsze pytania
Od: "Grzegorz Niemirowski" <g...@g...net> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Marek <f...@f...com> napisał(a):
> Ale jest coś takiego jak rejestry SET/CLR/INV (w pic32/mips), dzięki
> którym za pomocą jednej operacji atomowej można ustawić, skasować lub
> przestawić dowolny bit na porcie czy rejestrze?
> Np. PORTESET=16 ustawi bit na 4 pinie portu E albo TRISEINV=16 przestawi
> bit kierunku na pinie 4 portu E.
Jest takie coś, nazywa się bitbanding.
#include "stm32f4xx.h"
#define BITBAND_PERI_REF 0x40000000
#define BITBAND_PERI_BASE 0x42000000
#define BITBAND_PERI(a,b) ((BITBAND_PERI_BASE + (a-BITBAND_PERI_REF)*32 +
(b*4)))
#define GPIOA_ODR ((unsigned int)&(GPIOA->ODR))
#define GPIOA_ODR5 *((volatile unsigned char *) (BITBAND_PERI(GPIOA_ODR,
5)))
#define GPIOA_ODR6 *((volatile unsigned char *) (BITBAND_PERI(GPIOA_ODR,
6)))
void main(void) {
RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN; //włącz GPIOA
GPIOA->MODER |= GPIO_MODER_MODER5_0; //LED1 - output
GPIOA->MODER |= GPIO_MODER_MODER6_0; //LED2 - output
GPIOA->PUPDR |= GPIO_PUPDR_PUPDR7_0; //przycisk - pull up
while(1) {
if (GPIOA->IDR & GPIO_IDR_IDR_7) { //przycisk puszczony
GPIOA_ODR5 = 1;
GPIOA_ODR6 = 0;
} else { //naciśnięty
GPIOA_ODR5 = 0;
GPIOA_ODR6 = 1;
}
}
}
--
Grzegorz Niemirowski
https://www.grzegorz.net/
Następne wpisy z tego wątku
- 26.07.22 10:00 MKi
- 26.07.22 10:09 Grzegorz Niemirowski
- 26.07.22 11:48 jacek pozniak
- 26.07.22 12:01 MKi
- 26.07.22 12:03 MKi
- 26.07.22 13:48 stary grzyb
- 26.07.22 17:13 Arnold Ziffel
Najnowsze wątki z tej grupy
- Zlacze w mikrofonie z lat 80-tych
- Żywica żółknie od UV i wody :(
- Zawory termostatyczne
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
- Skąd diody LED 1,5V?
- Apollo Comm
- PICkit3 mnie pokonał
- LEDy na choinkę zdechły
Najnowsze wątki
- 2026-01-19 oszustwo samochodowe
- 2026-01-19 Katowice => Solution Architect (Workday) - Legal Systems <=
- 2026-01-18 off-grid
- 2026-01-18 Co grozi Żurkowi za jego działania polityczne?
- 2026-01-17 To się NIE DZIEJE
- 2026-01-17 Czy to się kwalifikuje pod jakiś paragraf?
- 2026-01-17 Piaseczno cd 2
- 2026-01-17 Chlapacze do OPLA ale GUMOWE
- 2026-01-17 Toyota dba o Niemców.
- 2026-01-17 Wrocław => Junior Konsultant wdrożeniowy ERP <=
- 2026-01-17 Zlacze w mikrofonie z lat 80-tych
- 2026-01-17 Warszawa => Inżynier Systemów i Sieci <=
- 2026-01-17 Czy Trenerzy AI już kogoś pozwali za "zatrute ciastka"?
- 2026-01-17 Poznań => Konsultant SAP HCM <=
- 2026-01-17 Niestabilny materiał wybuchowy W AKCJI




Fakturzystka, fakturzysta