Sida 8 av 9

Re: Är det samma metodik att programmera olika processorer?

Postat: 25 februari 2024, 20:26:30
av TomasL
De har ju gett ut en manual, referens manualen, man läser på för varje enskild periferienhet man vill använda, tills dess att man förstår dess funktion och hur de enskilda flaggorna (bitarna i de olika registerna) påverkar enheten.

Re: Är det samma metodik att programmera olika processorer?

Postat: 25 februari 2024, 20:44:29
av AndLi
De har ju massor av referenskod i sitt Hal och exempel bibliotek att titta på.

Läromedel får du någ leta hos de som håller i utbildningar...

Re: Är det samma metodik att programmera olika processorer?

Postat: 25 februari 2024, 21:51:54
av ToPNoTCH
DanielM skrev: 25 februari 2024, 20:04:10
TomasL skrev: 25 februari 2024, 19:02:35
Man får lusläsa referensmanualen som den vore en riktig manual för lärdom.
Det är så man gör, finns inga andra sätt att lära sig.
Men STM borde faktiskt ge ut en manual. Nu sitter jag bara och försöker använda referensmanualen som den vore en utbildningsmanual. I normala fall så brukar det alltid finnas ett exempel på hur man använder registrerna. Microchip är tydliga med detta.

Men STM ger inte några exempel i sina dokument.
ST Tycker inte man skall sitta och pilla i registerna.
Det är ju därför dom satsat på sin HAL.

Re: Är det samma metodik att programmera olika processorer?

Postat: 25 februari 2024, 22:13:08
av DanielM
Jag vet. Men nu är det bara för lärdomens skull.
Jag tänkte om jag kan hantera detta med register, så får jag bättre förståelse över hur processorer brukar fungera.

Nu säger dock TomasL att dom skiljer sig enormt mellan varandra. Visst, men jag tror ändå grunden är kvar. Att efter man har satt ström på processorn, så måste man ge sig på klockan. Då det är klockan som driver alla andra periferier.

Jag tycker dock att STMs TIM-diagram stämmer inte alls med sina register.
Det finns inget register som heter CK_INT. Utan man måste läsa sig till att CEN är den som aktiverar klockan, då då väljs CK_INT automatiskt, vilket betyder Clock Internal.
Så schemat är lömskt. Inte lika tydligt som STMs diagram för klockan(RCC). En annan sak som jag kan klaga på med all rätt, det är att efter man har aktiverat sin räknare och valt att den ska ha PWM utgång. Då måste man aktivera PWM utgången också. Jaha, borde inte detta liksom....vara självklart att man vill aktivera PMW utgången om man väljer PWM utgången....Detta säger inte detta diagram vad man ska göra. Så det är svårt att följa diagrammet då registerna stämmer inte med namnen.
Skärmbild 2024-02-25 152255.png

Re: Är det samma metodik att programmera olika processorer?

Postat: 26 februari 2024, 02:50:02
av Synesthesia
Har man lärt sig interfacens registers funktion på någon µC, räcker med valfri 8-bit, så kommer man känna igen motsvarigheten i andra µC, i den grad de interfacen finns, fast interfacen kan vara olika komplexa och ha olika många "inställningar".

Re: Är det samma metodik att programmera olika processorer?

Postat: 26 februari 2024, 07:44:37
av hawkan
Så tycker jag också det är. Helt klart enklare att lära sej på en atmega328, där går det enkelt att läsa sej till hur man gör.

danielM, förutom nöjet att lära sej nytt, vad extra ger ditt program ett par sidor tillbaka mot detta?

Kod: Markera allt

HardwareTimer *MyTim = new HardwareTimer(TIM3);
MyTim->setPWM(channel, PA5, 1, 50);
Man får lista ut vilken timer och channel som PA5 sitter på.

https://github.com/stm32duino/Arduino_C ... er-library

Re: Är det samma metodik att programmera olika processorer?

Postat: 26 februari 2024, 16:47:49
av DanielM
hawkan skrev: 26 februari 2024, 07:44:37 Så tycker jag också det är. Helt klart enklare att lära sej på en atmega328, där går det enkelt att läsa sej till hur man gör.

danielM, förutom nöjet att lära sej nytt, vad extra ger ditt program ett par sidor tillbaka mot detta?

Kod: Markera allt

HardwareTimer *MyTim = new HardwareTimer(TIM3);
MyTim->setPWM(channel, PA5, 1, 50);
Man får lista ut vilken timer och channel som PA5 sitter på.

https://github.com/stm32duino/Arduino_C ... er-library
Du menar att jag ska testa detta?
Det fungerar säkert jätte bra. :)

Re: Är det samma metodik att programmera olika processorer?

Postat: 26 februari 2024, 17:37:41
av MiaM
Synesthesia skrev: 26 februari 2024, 02:50:02Har man lärt sig interfacens registers funktion på någon µC, räcker med valfri 8-bit, så kommer man känna igen motsvarigheten i andra µC, i den grad de interfacen finns, fast interfacen kan vara olika komplexa och ha olika många "inställningar".
Håller med, med tillägget att det kan kanske vara bra att ha lärt sig ett par olika. Typ t.ex. att de flesta har datariktningsregister för I/O-portar, medan vissa Intel inte har detta och när man sätter utgångar till en etta så driver de en kort puls hög och växlar sen till relativt hög impedans, så att samma pinne både är en etta som utgång och också satt som ingång. Antar att ingen gör så idag, det var väl en 70-80-talsgrej att spara chipyta...

Re: Är det samma metodik att programmera olika processorer?

Postat: 26 februari 2024, 17:41:26
av DanielM
Borde inte diagrammen vara en god väg att följa också?
Jag hade mycket användbarhet av RCC diagrammen. Men däremot TIM-diagrammen var inte så tydliga att dom följde knappt registerna.

Re: Är det samma metodik att programmera olika processorer?

Postat: 26 februari 2024, 17:47:04
av TomasL
Bättre att läsa den detaljerade funktionsbeskrivningen för enheten i fråga.

Re: Är det samma metodik att programmera olika processorer?

Postat: 26 februari 2024, 17:52:25
av DanielM
Jo, självklart. Men det gäller att hitta dom också.
En referensmanual ska vara tydlig också och leda användaren.

Re: Är det samma metodik att programmera olika processorer?

Postat: 26 februari 2024, 17:59:36
av TomasL
Finns garanterat ett innehålsregister, där alla periferienheter är upptagna, med sidhänvisningar.

Re: Är det samma metodik att programmera olika processorer?

Postat: 26 februari 2024, 18:02:31
av DanielM
Jag tyckte TIM diagrammet för STM32 följde inte alls registerna. Där var det luddigt. Men RCC diagrammet följde riktigt tydligt.

Re: Är det samma metodik att programmera olika processorer?

Postat: 26 februari 2024, 18:04:02
av TomasL
Diagrammen är inte avsedda att visa vilka register som används utan relationen mellan olika enheter, signalvägar etc.

Re: Är det samma metodik att programmera olika processorer?

Postat: 26 februari 2024, 18:08:06
av mankan
Precis, det är ofta lite skillnad mellan HW-spec och hur de har deklarerat/namngivit register i header-filer, vilket inte gör det lättare. En stor SoC-tillverkare jag har jobbat med har en intern databas från vilken de genererar registerspec och header-filer, då blir det lite enklare.