Är det samma metodik att programmera olika processorer?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45304
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

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

Inlägg 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.
Användarvisningsbild
AndLi
Inlägg: 17159
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

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

Inlägg 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...
ToPNoTCH
Inlägg: 4891
Blev medlem: 21 december 2009, 17:59:48

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

Inlägg 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.
DanielM
Inlägg: 2194
Blev medlem: 5 september 2019, 14:19:58

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

Inlägg 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
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Synesthesia
Inlägg: 585
Blev medlem: 22 januari 2010, 19:14:10
Ort: Mellan Göteborg och Kungsbacka

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

Inlägg 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".
Användarvisningsbild
hawkan
Inlägg: 2636
Blev medlem: 14 augusti 2011, 10:27:40

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

Inlägg 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
DanielM
Inlägg: 2194
Blev medlem: 5 september 2019, 14:19:58

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

Inlägg 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. :)
MiaM
Inlägg: 9990
Blev medlem: 6 maj 2009, 22:19:19

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

Inlägg 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...
DanielM
Inlägg: 2194
Blev medlem: 5 september 2019, 14:19:58

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

Inlägg 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.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45304
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

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

Inlägg av TomasL »

Bättre att läsa den detaljerade funktionsbeskrivningen för enheten i fråga.
DanielM
Inlägg: 2194
Blev medlem: 5 september 2019, 14:19:58

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

Inlägg av DanielM »

Jo, självklart. Men det gäller att hitta dom också.
En referensmanual ska vara tydlig också och leda användaren.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45304
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

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

Inlägg av TomasL »

Finns garanterat ett innehålsregister, där alla periferienheter är upptagna, med sidhänvisningar.
DanielM
Inlägg: 2194
Blev medlem: 5 september 2019, 14:19:58

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

Inlägg 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.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45304
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

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

Inlägg av TomasL »

Diagrammen är inte avsedda att visa vilka register som används utan relationen mellan olika enheter, signalvägar etc.
Användarvisningsbild
mankan
EF Sponsor
Inlägg: 908
Blev medlem: 18 juli 2015, 11:23:22
Ort: Linköping

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

Inlägg 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.
Skriv svar