|
|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2024 11 11, 20:24. Visos datos yra GMT + 2 valandos.
|
|
|
|
Forumas » Mikrovaldikliai » AtMega16 + atmintis
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
|
AtMega16 + atmintis |
Parašytas: 2009 08 21, 14:13 |
|
|
|
Kilo klausimas: Noriu padaryt kad AtMega16 veiktu tik tam tikra laika po kurio butu galima atnaujinti jos veikima. Kaip man butu tai geriausia ir patogiausia padaryt? Ar imanoma ikist tarkim skaiciu, kurio reiksme turetu mazet kiekviena karta pajungus mikrokontroleri, i pacia atmega? |
|
|
|
|
|
AtMega16 + atmintis |
Parašytas: 2009 08 21, 15:09 |
|
|
|
is principo galima
tam yra eeprom i kuria galima rasyti ka nori ir viskas bus issaugota.
tai pasidaryk koki kintamaji eeprome kuri nuolat mazinsi su kievkienu reset signalu. ir kai pasieki nuli tai jau zinai kad issinaudojo viskas
beje galima padaryti kad mazetu tik su maitinimo ijungimais, nes atmega turi reset source signala.
tik idomu kas tu cia per blogietis esi kad tokiu dalykus darai |
|
|
|
|
|
|
AtMega16 + atmintis |
Parašytas: 2009 08 27, 12:37 |
|
|
|
Building configuration: aaa - Debug
Updating build tree...
Linking
Error[e133]: The output format intel-extended cannot handle multiple address spaces. Use format variants (-y -O) to
specify which address space is wanted
Error while running Linker
Total number of errors: 1
Total number of warnings: 0
stai ka gaunu kai darau makefile. compiliuojas mbe problemu. kaip pakoreguot gal kas zinot. va kodas:
#include <iom16.h>
void velinam();
__eeprom int j;
int main( void )
{if (j<0) j=0;
if (j>10) j=0;
while (j<10)
{int k=0;
DDRD=15;
while(k<1000){
PORTD=15;
velinam();
PORTD=0;
velinam();
k=k+1;
j=j+1;
}}}
void velinam()
{unsigned int i=0;
for(i=0; i<50000; i++){}} |
|
|
|
|
|
|
AtMega16 + atmintis |
Parašytas: 2009 08 27, 17:43 |
|
|
|
Na ziurint ko tu nori:
1, ar atmega turi veikti tam tikra ijungimu skaiciu, pvz ijungus desimta karta ji jau neveikia
2. Ar atmega turi veikti tam tikra laika nuo ijungimo, o perkrovus vel viskas is naujo.
as daryciau:
1 aveju kiekviena karta ijungiant is eepromo istraukiamas skaicius lyginamas su maksimaliu galimu skaiciu (tarkim 10), prie jo pridedamas 1, ir irasomas atgal i eeproma. Kai ijungiant gaunasi lygybe tarp to eepromo ir lyginamo skaiciaus, kontroleris nebevykdo tolimesnes programos..
2 atveju kontroleris skaciuoja skaiciu su kiekvienu ciklu vis ji didindamas, ir kai pasiekia tam tikra reiksme nebevykdo pagrindines programos |
|
_________________ Aš pažeidžiau forumo taisykles ir reklamavau paraše. ...Bet uz reklama tai susimokejau |
|
|
|
|
|
AtMega16 + atmintis |
Parašytas: 2009 08 28, 11:59 |
|
|
|
MAtai bandziau ir toki ir toki varijanta, taciau i eeproma negaliu irasyt kintamojo. Radau pavyzdi:
void EEPROM_write(unsigned int uiAddress, unsigned char ucData);
unsigned char EEPROM_read(unsigned int uiAddress);
void main(void)
{
EEPROM_write(0x10, 'A'); //write A to the add. 0x10 assuming there is such an add.
EEPROM_read(0x10); //
}
void EEPROM_write(unsigned int uiAddress, unsigned char ucData)
{
while(EECR && (1<<EEWE)); /* Wait for completion of previous write */
EEAR = uiAddress; /* Set up address and data registers */
EEDR = ucData;
EECR |= (1<<EEMWE); /* Write logical one to EEMWE */
EECR |= (1<<EEWE); /* Start eeprom write by setting EEWE */
}
unsigned char EEPROM_read(unsigned int uiAddress)
{
while(EECR && (1<<EEWE)) ; /* Wait for completion of previous write */
EEAR = uiAddress; /* Set up address register */
EECR |= (1<<EERE); /* Start eeprom read by writing EERE */
return EEDR; /* Return data from data register */
}
Bet kazkodel neranda man kintamuju eewe ir eemwe, nors bibliotekoj iom16.h jie yra. |
|
|
|
|
|
|
|
|
|
|
Google paieška forume |
|
|
Naujos temos forume |
|
|
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
|
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
|
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
|
VAT calculator
VAT number check,
What is VAT,
How much is VAT |
|
LEGO
Mänguköök,
mudelautod,
nukuvanker |
|
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope |
|
FS25 Mods
FS25 Harvesters,
FS25 Tractors Mods,
FS25 Maps Mods |
|
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
|
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
|
GTA 6 Weapons
GTA 6 Characters,
GTA 6 Map,
GTA 6 Vehicles |
|
FS25 Mods
Farming Simulator 25 Mods |
|
|
|