Vælg land og sprog
Sprog
Da Curious Scientist udgav sin guide CH32V003F4P6 – USART basics , føltes det som at opdage en hemmelig superkraft. Den går videre end GPIO: Du lærer at modtage tegn fra din PC, sende dem tilbage og endda skifte LED'er ud fra serielle kommandoer – alt via den enkle serielle forbindelse mellem chip og terminal.
Det gennemgåede eksempel:
Opsætter en ikke-blokerende echoCharacterUSART() -rutine: læser RXNE -flaget, henter dataene og sender dem straks tilbage.
Lader dig sende enkle kommandoer fra din PC for at skifte LED'er, med tegnene '1' til '4'.
Demonstrerer, hvordan serielle input kan styre adfærden uden at forstyrre hovedløkken for meget Curious Scientist.
Det er et solidt fundament, især hvis du vil sende en kommando for at starte ADC-sampling, styre sensorer eller bare imponere vennerne ved at blinke med lys fra terminalen.
Lad os tage tidsmaskinen tilbage til 1960'erne. DEC-ingeniøren Gordon Bell havde brug for en pålidelig måde at forbinde Teletype-maskiner til en PDP‑1-computer på. Løsningen blev en samplingbaseret, rent digital grænseflade – den første UART, bygget på et printkortmodul, der kunne fylde dit skrivebord.
I 1971 samlede Western Digital magien på én chip: WD1402A UART, som befriede enheder fra besværet med håndjusterede analoge kredsløb. Derefter blev chips som National 8250og senere 16550 med dens FIFO-buffer standarder for seriel kommunikation i IBM PC'er og modemmer i 80'erne og 90'erne.
I dag er UART ikke prangende, men den lever videre i alle MCU'er, routerkonsoller og indlejrede debugporte, selvom USB og Ethernet er langt hurtigere og mere spændende.
Asynkron transmission: Ingen fælles clock. I stedet indrammes hver byte af start- og stopbits.
Dataindramning: Normalt 5–8 databits, valgfri paritet og 1–2 stopbits til at markere bytegrænserne.
Synkronisering af baudrate: Begge sider skal bruge matchende baudrater og kompatible rammeindstillinger. Den tilladte clockafvigelse afhænger af UART-implementeringen og rammelængden; kontrollér dokumentationen frem for at antage en tolerance på 10%. Signalering på linjen: Linjer i hvile ligger højt – takket være arven fra morsekode – og skift repræsenterer data.
Flowkontrol & buffering: Tidlige UART'er gav enkel seriel handshaking; senere introducerede 16550 en 16-byte FIFO til at buffere indkommende data, så tegn ikke blev tabt, hvis CPU'en blev langsom.
UART-chips findes både selvstændigt og indbygget i mikrocontrollere, såsom USART-periferien i CH32V003F4P6, der også kan arbejde synkront, hvis du har brug for det.
Guiden fra Curious Scientist giver dig en praktisk start. Men forståelsen af den tekniske historie og UARTs virkemåde gør dig til en udvikler, der forstår seriel kommunikation, frem for blot at kopiere kode.
Med CH32V003F4P6 arbejder du med:
Full-duplex USART1 med RXNE- og TXE-flag
Interrupt-egnede rutiner som echoCharacterUSART()
Kommandobaseret LED-skift, såsom '1', '2'og så videre)
Mulighed for fremover at udløse ADC-aflæsninger via serielle kommandoer eller sende sensordata tilbage til PC'en, helt efter behov
Vil du have hele guiden? Find den her, og hils Curious Scientist fra os:
Sprog