-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
e.net!3.us.feeder.erje.net!feeder.erje.net!news.ripco.com!usenet.blueworldhosti
ng.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com
!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neo
strada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neos
trada.pl.POSTED!not-for-mail
From: "Grzegorz Niemirowski" <g...@g...net>
Newsgroups: pl.misc.elektronika
References: <1...@h...invalid>
<62dec0ce$0$560$65785112@news.neostrada.pl>
<a...@n...neostrada.pl>
Subject: Re: STM32 i HAL -- pierwsze podejście, pierwsze pytania
Date: Tue, 26 Jul 2022 09:40:55 +0200
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset="utf-8"; reply-type=response
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: OE PowerTool 4.5.5
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7681
X-WWW: https://www.grzegorz.net/
Lines: 44
Message-ID: <62df9a87$0$565$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 89.65.244.230
X-Trace: 1658821255 unt-rea-b-01.news.neostrada.pl 565 89.65.244.230:50115
X-Complaints-To: a...@n...neostrada.pl
X-Received-Bytes: 2488
Xref: news-archive.icm.edu.pl pl.misc.elektronika:773482
[ ukryj 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
- Lampy uliczne LED z kubkiem
- Pęczniejące LiPo
- wyłącznik ścienny
- "Wybitna" inteligencja AI
- test stereo
- Bluetooth stereo
- W USA budują pierwszą komercyjną elektrownię fuzji jądrowej
- Weryfikacja myjki ultradźwiękowej
- zasieg radaru
- Zmywarka Bosch SRV55T43EU - awaria
- Kod zniżkowy w TME do 26.09.2025
- SFP, 10G, simplex sc/apc
- [słabe wiatry powodują - przyp. JMJ] Energetyczny paraliż w Niemczech
- NxtPaper
- Programiści nie przestają zadziwiać świat
Najnowsze wątki
- 2025-09-30 Lublin => Delphi Programmer <=
- 2025-09-30 Warszawa => Konsultant Wiodący SAP PP <=
- 2025-09-30 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-09-30 Warszawa => Lead SAP PP Consultant <=
- 2025-09-30 Warszawa => Project Manager (AI and innovation) <=
- 2025-09-30 Poznań => SAP HCR Consultant <=
- 2025-09-30 Warszawa => IT Recruiter <=
- 2025-09-30 Zbrodzień Ziobro zatrzymany na płycie lotnika międzynarodowego bo PRZYLECIAŁ do RP3 zostać "nielegalne doprowadzony"
- 2025-09-30 Warszawa => Starszy Konsultant SAP - obszar PP <=
- 2025-09-29 (Nie)typowy problem z elektrykiem
- 2025-09-29 Awaria
- 2025-09-29 Życie z Renault Twizy: Jak to NAPRAWDĘ wygląda
- 2025-09-29 Białystok => Programista Delphi <=
- 2025-09-29 Białystok => Delphi Programmer <=
- 2025-09-29 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo