simulace 4313 v AVR studiu

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
jiriS
Příspěvky: 609
Registrován: 14 led 2014, 00:00
Bydliště: Ašsko
Kontaktovat uživatele:

#16 Příspěvek od jiriS »

Ahoj,
už 4313 mám, jen jsem se k tomu ještě nedostal.
V ruštině jsem dělal i odborné texty, ale domluvit se už byl taky problém. Angličtina ale teď chybí, protože ale vše skáče z hlavy rychleji, než to přečtu, nelámu to přes koleno. Pochopit nějakou funkci s google překladačem je jinak docela fuška.
JiříMS
Uživatelský avatar
FHonza
Příspěvky: 1443
Registrován: 20 lis 2012, 00:00
Bydliště: Praha

#17 Příspěvek od FHonza »

Dneska ráno jsem Tiny vyzvedl u slona. Přes víkend vyzkouším a poreferuji.
Uživatelský avatar
jiriS
Příspěvky: 609
Registrován: 14 led 2014, 00:00
Bydliště: Ašsko
Kontaktovat uživatele:

#18 Příspěvek od jiriS »

Ahoj,
tak jsem se dostal k tomu, že 4313 vyzkouším, ale nemůžu dostat do ní program. Progrmuji přes ponyprog, 2313 mi jde, ale u 4313 hlásí neznámé zařízení a v nabídce zařízení není uvedená. Takže další překážka...
Uživatelský avatar
jiriS
Příspěvky: 609
Registrován: 14 led 2014, 00:00
Bydliště: Ašsko
Kontaktovat uživatele:

#19 Příspěvek od jiriS »

Ahoj,
tak jsem se dostal k tomu, že 4313 vyzkouším, ale nemůžu dostat do ní program. Progrmuji přes ponyprog, 2313 mi jde, ale u 4313 hlásí neznámé zařízení a v nabídce zařízení není uvedená. Takže další překážka...
Uživatelský avatar
jiriS
Příspěvky: 609
Registrován: 14 led 2014, 00:00
Bydliště: Ašsko
Kontaktovat uživatele:

#20 Příspěvek od jiriS »

Tak jsem našel, jak v PonyProgu zapsat program do paměti:
1.. Nastavení zařízení ATTINY45

2. Napište program (FLASH)
3. Klikněte na tlačítko "Ignorovat"
Program jsem tam dostal, vymazání se nedaří, fuse jsem neriskoval.
Uživatelský avatar
jiriS
Příspěvky: 609
Registrován: 14 led 2014, 00:00
Bydliště: Ašsko
Kontaktovat uživatele:

#21 Příspěvek od jiriS »

Ahojte,
koho toto téma ještě zajímá:
Ověřil jsem to a vyzkošel v reálu. Jak píše FHonza, procesor fungje podle datasheetu, t.j. podle masek přerušení PCIE0,1,2 a je třeba správně volit i PCMSK0,1,2 a správný vektor přerušení. Na simulátoru to nepůjde nastavit (jedině po úpravě souboru tn4313.def), PCIEx je tak nutné nastavovat číslem a ne názvem bitu. V každém případě to nebude vidět na registrech (GIMSK).
Ještě jednou dík za pomoc.
JiříMS
P.S.: Kde to je, u slona? Většinou kupuju v GM, pokud jde o větší množství, u TME.
Uživatelský avatar
FHonza
Příspěvky: 1443
Registrován: 20 lis 2012, 00:00
Bydliště: Praha

#22 Příspěvek od FHonza »

Taky jsem to vyzkoušel, je to jak je v datasheetu psáno.

Kód: Vybrat vše

#include <avr/io.h>
#include <avr/interrupt.h>


// LED sviti "na" log 0
// zapojeny katoda na PD0, PD1, anoda na VCC + rezistory

// testovani GIFR je tady zbytecne, zde jenom pro ukazku "ze to funguje"
ISR(PCINT_B_vect)
{
  if (GIFR & (1 << PCIF0))
  {
    PORTD = 0xfd; // sviti druha LED
  }
}

ISR(PCINT_A_vect)
{
  if (GIFR & (1 << PCIF1))
  {
    PORTD = 0xfc; // sviti obe LED
  }
}

ISR(PCINT_D_vect)
{
  if (GIFR & (1 << PCIF2))
  {
    PORTD = 0xfe; // sviti prvni LED
  }
}

int main()
{
  DDRA  = 0;         // vsechny vstupni
  PORTA = 0xff;      // pull-up nastaveny
  DDRB  = 0;
  PORTB = 0xff;
  DDRD  = 3;         // vstupni vsechny krome PD0, PD1
  PORTD = 0xff;      // pull-up nastaveny, na PD0 a PD1 log. 1, tj. LED nesviti

  GIMSK = (1 << PCIE0) | (1 << PCIE1) | (1 << PCIE2); // povoleno preruseni od vsech pinu PCINT0..17
  PCMSK0 = (1 << PCINT0); // tj. PB0
  PCMSK1 = (1 << PCINT9); // tj. PA1
  PCMSK2 = (1 << PCINT17); //  tj. PD6
  sei(); 
  while (1);
  return 0;
}


P.S. u slona říkám GM podle loga
Uživatelský avatar
jiriS
Příspěvky: 609
Registrován: 14 led 2014, 00:00
Bydliště: Ašsko
Kontaktovat uživatele:

#23 Příspěvek od jiriS »

Zdravím,
jsem rád, že jsme došli ke stejnému závěru. Já dělám v assembleru, a AVR studio mě tím dokonale zmátlo. Většinou se spíš stává, že někde udělám chybu, něco přehlídnu nebo blbě pochopím.
V každém případě dík za pomoc a zájem.
JiříMS
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“