Sida 2 av 3
Postat: 13 mars 2008, 22:52:32
av mri
Korken: Det var kodsnuttar från två olika ställen som visade på två olika saker. I standard C (ANSI C) får man endast deklarera variabler i början av "{" block, t.ex. först i en funktionskropp eller innuti ett nästlat "{" block.
Personligen gillar jag inte s.k. C/C++ kod, dvs var man använder vissa små trevliga saker från C++, men inte utnyttjar C++ fullt ut, dvs de objektorienterade egenskaperna. Kod var man klarar sig med standard C skall man skriva i standard C, så att man i alla lägen kan kompilera den med en standard C kompilator. Men detta är min personliga åsikt (som baseras på erfarenhet från 10 års jobb som programmerare

). Välskriven C eller C++ kod, även om den är skriven för en hårdvarunära sak som en MCU kan ofta flyttas med väldigt få ändringar till en ny kompilator och MCU/CPU från annan tillverkare.
Postat: 14 mars 2008, 12:05:44
av Korken
Ahh, okej.
Men de få problem som uppstår är ju bara att ändra på.
//Emil
Postat: 14 mars 2008, 12:59:31
av maha
Absolut, men varför inte göra rätt från början?

Postat: 14 mars 2008, 15:48:23
av Korken
Hehe, för att vara ärlig sp viste jag inte att man var tvungen att göra så.
//Emil
Postat: 16 september 2008, 14:22:45
av sianfa
Använde mig av den här koden men fick göra en hel del ändringar för att få det att funka. Sparade dock en hel del jobb, så jag får tacka så mycket.
Jag tyckte att rätt många tecken såg konstiga ut, men det är ju väldigt lätt att gå in och ändra så att de ser ut precis som man vill. Är ju egentligen inga problem att lägga till egna tecken heller om man vill. Eftersom koden är så välstrukturerad och lättförståelig tycker jag den var utmärkt att utgå från. Bra jobbat Korken!
Postat: 16 september 2008, 16:42:43
av Korken
Tackar!

Lägg gärna upp lite bilder på det du har åsta kommit!
Jo, den går att förfina och jag har bara inte orkat samt tecknena jag har är alla gjorda för hand, så de vart som jag tyckte om det, men det går att ändra på för de som vill.
//Emil
Postat: 16 september 2008, 17:11:43
av Rohan
Fråga:
Hur mycket minne kräver det här? Sitter nämligen och funderar på om jag ska använda en grafisk display till mitt projekt eller om jag ska hålla mig till de teckenbaserade.
Postat: 16 september 2008, 17:28:39
av Korken
Nu är jag inte säker, men de enda globala variablerna är lcd_x och lcd_y och de är 2 byte, sen dras det mer när speciella funktioner körs och LCD_Draw_Line drar mest, men de minnet frigörs när funktionen har körts klart.
Någon är säkert bättre på detta än mig men jag kan köra koden på en Mega88 utan problem.
Edit:
Jag pratar om RAM, inte Flash.
Det drar ca 4kb Flash har jag för mig.
//Emil
Postat: 16 september 2008, 17:30:10
av sianfa
Jag kör den på en ATmega16. Programmet tar just nu 6832 bytes men då är det en del annat också (dioder, AD-omvandlare med mera).
Håller på med ett annat projekt nu så hårdvaran är inte igång, men jag kan se om jag kan fixa någon bild om ett tag. Projektet ska nämligen igång igen inom ett par veckor.
Postat: 16 september 2008, 17:33:24
av Rohan
Jag tänkte i första hand på det minne som teckentabellen tar. Ritar du direkt på displayen eller dubbelbuffrar på något vis? Jag gjorde ett överslag och kom fram till att min display på 192x64 pixlar skulle kräva 192*64/8 = 1536 byte SRAM. Och sedan eventuella teckentabeller men det borde väl inte bli mer än 7*10*100/8 = 875 för 100 tecken, det skulle visserligen ligga i programminnet eller eeprom. Men det kanske går lika bra att rita direkt i displayens minne?
Postat: 16 september 2008, 17:37:25
av Korken
Inget av det ligger i RAMet, jag ritar direkt mot displayen.
Och alla tecken ligger i Flash, allt för att det skulle dra så lite RAM _som möjligt_.
//Emil
Postat: 16 september 2008, 17:50:22
av Rohan
Det låter ju onekligen smidigt. Fortsätter gärna med några fler frågor, om det går för sig.
1) Skulle det finnas någon fördel med buffring i SRAM?
2) Har du någon uppskattning på hur lång tid det tar att rita en display, säg 10% full? Alltså ungefär 1200 pixlar.
Postat: 17 september 2008, 12:37:13
av Korken
Inte på en sånhär display skulle jag tro, kanske att det finns någon liten fördel som jag inte vet.
Att rita ut en sablans massa linjer, cirklar och alla tecken samtidigt (som testbilden fast 2x mer grejer) skulle jag uppskatta till 0.5s.
Jag kan utan problem uppdatera rader med text, t.e.x. tider och sånt och har kraft att spara.
//Emil
Re: Drivrutin för Grafisk display [AVR]
Postat: 12 januari 2011, 19:24:18
av PaNiC
Gammal tråd, men ett litet bekymmer här..
Jag har problem med att linjer inte går att dra mer än 45 grader stigande från vänster till höger?
I vissa fall fortsätter linjen dras, men hamnar således i 45 graders vinkel och slutar någon annanstans än den ska. I andra fall hamnar den på helt fel håll.
Re: Drivrutin för Grafisk display [AVR]
Postat: 12 januari 2011, 19:59:56
av sm2wmv
c99 kör jag, det fungerar fint också.
Edit: Oooooj, gammal tråd ser jag.