-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!.POSTED!not-for-mail
From: badworm <n...@p...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: zamulający program na AVR
Date: Sat, 9 Apr 2016 08:42:13 +0200
Organization: ATMAN - ATM S.A.
Lines: 68
Message-ID: <4uvz9y3n54mp$.dlg@badworm.pl>
References: <p...@b...pl>
<57067701$0$22840$65785112@news.neostrada.pl>
<g...@b...pl> <ne8d1m$vio$1@node2.news.atman.pl>
<1...@b...pl> <ne9b6d$u4o$1@node2.news.atman.pl>
NNTP-Posting-Host: ip-5-172-247-217.free.aero2.net.pl
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-2"
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1460184105 16095 5.172.247.217 (9 Apr 2016 06:41:45 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Sat, 9 Apr 2016 06:41:45 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.15.1pl Hamster/2.0.0.1
Xref: news-archive.icm.edu.pl pl.misc.elektronika:698106
[ ukryj nagłówki ]Dnia Sat, 9 Apr 2016 00:26:27 +0200, Grzegorz Niemirowski napisał(a):
> Którego pliku i po co?
Plik iom324pa.h w katalogu /avr/include/avr/ - to chyba w plikach tam
się znajdujących są definicje np. rejestrów we wszystkich obsługiwanych
typach procesorów.
> Z czego na co?
# MCU name
MCU = atmega8
na
# MCU name
MCU = atmega324pa
> Trudno coś powiedzieć bez kodu. Zwykle robi się tak, że dołącza się plik
> <avr/io.h>. W pliku tym są warunkowe dołączenia plików nagłówkowych danego
> procesora na podstawie makra generowanego przez wybór danego mikrokontrolera
> parametrem -mmcu:
> #elif defined (__AVR_ATmega324PA__)
> # include <avr/iom324pa.h>
> Jak sobie na siłę dołączysz avr/iom324pa.h to się pewnie skompiluje
> niezależnie od wyboru -mmcu.
Początek pliku main.c wygląda u mnie tak:
#include <avr\io.h>
#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>
#include <avr\signal.h>
#include <avr\interrupt.h>
#include <avr\pgmspace.h>
#include <avr\eeprom.h>
#include <avr\delay.h>
A w wersji, która kompiluje się w najnowszym GCC bez błędów tak:
#include <avr\io.h>
#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>
//#include <avr\signal.h>
#include <avr/interrupt.h>
#include <avr\pgmspace.h>
#include <avr\eeprom.h>
#include <util/delay.h>
Jak wspomniałem, kiedyś próba bezpośredniego przeniesienia kodu z Mega 8
na Mega 162 tylko poprzez zmianę przytoczonego wyżej wpisu w makefile
skończyła się błędami przy kompilacji, bo 162 ma dwa porty USART, a w
związku z tym inne są nazwy rejestrów, obsługujących ten interfejs.
Tutaj więc oczekiwałem podobnej reakcji, ale widzę iż zarówno nowe, jak
i stare GCC żadnych problemów nie zgłaszają :/
Z obsługą TWI mam chwilowo jakiś problem, przykładowe funkcje znalezione
w sieci (np. tutaj http://radzio.dxp.pl/twi/) choć są bardzo proste, to
chyba nie do końca mi działają. Mam wrażenie, że program się z jakiegoś
powodu wysypuje dokumentnie. Póki co zostawiam ten temat do ogarnięcia
na później, będę chciał najpierw przetestować funkcje obsługi TWI na
spokojnie a dopiero potem dodać je do docelowego programu. Najważniejsza
jest dla mnie teraz przesiadka na MEGA 324, bo z programowym I2C jakoś
to wszystko działa, a nie załaduję przecież kodu dla Mega 8 do większego
procka.
--
Pozdrawiam Bad Worm badworm[maupa]post{kropek}pl
Następne wpisy z tego wątku
- 09.04.16 13:23 Sebastian Biały
- 09.04.16 21:14 PcmOl
- 10.04.16 03:06 AlexY
- 10.04.16 11:57 badworm
- 10.04.16 13:47 Sebastian Biały
- 10.04.16 14:21 AlexY
- 10.04.16 18:29 platformowe głupki
- 10.04.16 19:10 Sebastian Biały
- 10.04.16 23:58 Grzegorz Niemirowski
Najnowsze wątki z tej grupy
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
Najnowsze wątki
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=
- 2025-01-31 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-31 Błonie => Administrator systemów <=