AVRSH: Ett kommando tolken skal för Arduino/AVR. (4 / 6 steg)

Steg 4: Andra kommandon



Det finns flera andra kommandon att kommandotolken som standard förstår att du kan ha nytta. Du kan se alla genomförda och framtid-release kommandon genom att utfärda hjälpa eller menyn i Kommandotolken. Jag ska snabbt täcka dem här, eftersom de är mestadels självförklarande.

CPU-klockan frekvens inställningar
Du kan hitta vad din firmware har konfigurerats för att använda som CPU klockinställningarna med kommandot fcpu :

rot fcpuCPU Freq: 16000000

Det är 16 miljoner, eller 16 miljoner herz, mer känd som 16 MHz. Du kan ändra detta i farten, oavsett orsak, med kommandot klocka . Detta kommando tar ett argument: prescaler ska användas när dividera din klockfrekvens. Kommandot klocka förstår dessa prescaler värden:

  • ckdiv2
  • ckdiv4
  • ckdiv8
  • ckdiv16
  • ckdiv32
  • ckdiv64
  • ckdiv128
  • ckdiv256

Med kommandot:

klocka ckdiv2

När cpu-hastigheten är 16MHz skulle resultatet i din klockfrekvens ändras till 8 MHz. med en prescaler för ckdiv64 med en inledande klockfrekvens på 16MHz kommer att resultera i en slutlig klockfrekvens på 250 KHz. Varför på jorden skulle du vilja göra din MCU långsammare? Tja, för en, en lägre klockfrekvens förbrukar mindre ström och om du har din MCU kör bort av ett batteri i en projektet inhägnad du kanske inte behöver det för att köra på högsta hastighet, och kunde därför sänka hastigheten och sänka sin energiförbrukning, öka batteritiden. Också, om du använder klockan för någon form av Tidsproblem med en annan MCU, säga, genomföra en programvara UART eller något sådant, kan du ställa in den till ett visst värde som är lätt att få en fin även överföringshastigheten med lägre fel.

Driva upp och stänga perifera delsystem
På den samma anmärkningen som minskar strömförbrukningen som tidigare nämnts, kan du minska ytterligare makt genom att stänga några av de fordonsbaserade kringutrustning som du inte använder. Kommandotolken och shell kan för närvarande driva upp och stänga följande kringutrustningsenheter:

  • Analog till Digital omvandlare (ADC). Denna kringutrustning används när du har en analog sensor som tillhandahåller data (som temperatur, ljus, acceleration, etc) och konvertera den till ett digitalt värde.
  • Seriellt perifera gränssnitt (SPI). SPI bussen används för att kommunicera med andra SPI-aktiverade enheter, såsom externa minnen, LED drivers, externa ADC, etc. Delar av SPI används för Internet-programmering eller på minst stiften är, så var försiktig när stänga detta om programmering via Internet-leverantör.
  • Två-tråd gränssnitt. Vissa externa enheter använder I2C bussen för att kommunicera, även om detta snabbt ersätts med SPI-aktiverade enheter som SPI har en ökad genomströmning.
  • USART. Detta är din seriella gränssnitt. Du vill förmodligen inte att stänga av detta om du är ansluten till AVR via seriell anslutning! Men jag lade till detta här som ett skelett för att anpassa till enheter som har flera USART som ATmega162 eller ATmega644P.
  • alla. Argumentet att kommandot powerup eller powerdown vänder på alla kringutrustning nämns eller inaktiverar dem alla med ett enda kommando. Återigen, Använd kommandot klokt.
  • roten powerdown twiPowerdown av twi complete.root powerup twiPowerup av twi komplett.

Starta och stoppa Timers
Skalet har en inbyggd 16-bitars timer som är tillgänglig för användning. Du startar timern med kommandot timer:

timer start

och stopp tidtagare stopp argumentet:

tidtagare stopp

Denna timer kommer inte i konflikt med inre USART timer. Se koden för implementeringen av USART timer, om den sorteringen blodiga detalj intresserar dig.

root timer startStarted timer.root timer stopElapsed tid: ~ 157 sekunder

Autentisering
Skalet kan lagra en 8-teckens lösenord i EEPROM. Detta lösenord mekanism skapades för att stödja den telnet logik kapaciteten, men skulle kunna utvidgas för att skydda andra saker. Du kan till exempel kräva vissa kommandon, som att ändra registret värden, genom autentiseringsmekanism.
Ställ in lösenord med kommandot lösenord :

roten passwd blahWrote root-lösenordet till EEPROM

Auktorisera mot han lösenord (eller krävs tillstånd programatically igenom koden) med kommandot auth. Observera att om du försöker ändra root-lösenordet och det finns redan en rotfästa lösenord, måste du auktorisera dig själv mot det gamla lösenordet innan de tillåts att ändra det till ett nytt lösenord.

roten passwd blinkyYou måste tillåta dig själv first.root auth blahAuthorized.root passwd blinkyWrote nya root-lösenordet till EEPROM

Naturligtvis måste du ladda avrsh.eep fil om du raderar firmware för att få din gamla värderingar och variabler återställd. Makefile kommer att skapa filen EEPROM för dig.

Variabler
Skalet förstår begreppet egna variabler. Koden begränsar det till 20, men du kan ändra det om du gillar genom att ändra definiera MAX_VARIABLES i script.h. Du kan spara någon 16-bitarsvärde (det vill säga alla nummer upp till 65.536) till en variabel erinras om senare. Syntaxen liknar register förutom ett dollartecken ($) används för att beteckna variabler till skalet. Lista alla dina variabler med kommandot Skriv ut variabler.

Skriv ut variablesUser-definierade variabler: Index namn -> Value(01): $FREE$ -> 0(02): $FREE$ -> 0(03): $FREE$ -> 0(04): $FREE$ -> 0(05): $FREE$ -> 0(06): $FREE$ -> 0(07): $FREE$ -> 0(08): $FREE$ -> 0(09): $FREE$ -> 0(10): $FREE$ -> 0(11): $FREE$ -> 0(12): $FREE$ -> 0(13): $FREE$ -> 0(14): $FREE$ -> 0(15) : $FREE$ -> 0(16): $FREE$ -> 0(17): $FREE$ -> 0(18): $FREE$ -> 0(19): $FREE$ -> 0(20): $FREE$ -> 0Complete.

Ange en variabel:

$newvar = 25$ timeout = 23245

Får värdet av en viss variabel:

roten echo $newvar$ newvar -> 25

Du kan se vad alla variabler som du för närvarande har instansierats med kommandot Skriv ut som du redan vet.

Egna variabler: Index namn -> Value(01): newvar -> 25(02): timeout -> 23245(03): $FREE$ -> 0(04): $FREE$ -> 0(05): $FREE$ -> 0(06): $FREE$ -> 0(07): $FREE$ -> 0(08): $FREE$ -> 0(09): $FREE$ -> 0(10): $FREE$ -> 0(11): $FREE$ -> 0(12): $FREE$ -> 0(13): $FREE$ -> 0(14): $FREE$ -> 0(15) : $FREE$ -> 0(16): $FREE$ -> 0(17): $FREE$ -> 0(18): $FREE$ -> 0(19): $FREE$ -> 0(20): $FREE$ -> 0Complete.

$FREE$ namn anger bara att denna variabel plats är gratis och har tilldelats en variabel namn ännu.

Se Steg
Relaterade Ämnen

Hur till installera Google Earth i Linux med ett kommando

installera program i Linux kan vara knepigt ibland för nybörjare. I detta instructable, kan du installera Google Earth med endast ett kommando.Steg 1: Installation Bara gå till terminal, klistra in detta kommando och tryck på RETUR och det kommer att...

Hur man får ett kommando block i minecraft

jag gjort detta i kreativa läge...Steg ett:gå till din kommandofältetSteg två:Skriv in: / ge 137Steg tre:så ska u ha ett kommando block.DU MÅSTE TILLÅTA FUSK FÖR DETTA ARBETE!...

Telnet till din Arduino/AVR!

Häromdagen var jag vill kolla på en av min AVR: s men jag var på övervåningen och Gud vet det var för mycket jobbigt att gå ner till där mikrokontroller var. Men det fanns två inaktiv datorer sitter på övervåningen bredvid min lata rumpa, så jag hade...

En avancerad metod för Arduino & AVR programmering

Detta instructable är ett måste läsa för alla som är bekanta med core AVR chips och Arduino.Tja, mer konkret, när jag läste den instructable kommer du att kunna:1) vet väl skillnaden mellan AVR och Arduino.2) programmering Arduino med WinAVR & använd...

Automatiskt öppna / stänga en låda med ett linjärt ställdon och Arduino

Det finns en enkel glädje i att trycka på en knapp som öppnar en ruta för dig. Visst det finns snabbare och effektivare sätt att öppna en låda, men inget kan jämföras med magiskt i en aktiverings lock. För denna tutorial, kommer vi att göra en låda s...

Gör ett Minecraft gaming tangentbord med en arduino.

Minecraft är ett mycket populärt spel och det är också en av de mest spelade spel. Jag har byggt ett Mini-tangentbord som är dedikerade till att spela Minecraft! Allt du behöver för att bygga detta är en Arduino Leonardo, förfallodatum eller Micro st...

Utveckla ett ATtiny firefly projekt använder Arduino och det är IDE

Jag såg nyligen ett intressant projekt av Karl Lunt som används en ATtiny13 för att efterlikna en firefly (http://www.seanet.com/~karllunt/fireflyLED.html). Detta i sig, är verkligen inte unik, men det fick mig att tänka om en av mina tidiga microcon...

Driva din Arduino/AVR med ett Hand-Cranked batteri

om du någonsin velat driva din Arduino eller AVR från ett batteri för utveckling testning (batterierna har olika makt leverans kvaliteter än, säg, transformerad AC eller ens en reglerad vägg vårta i DC) testning men var trötta för att gå igenom batte...

Hur man analyserar ett fordons CAN-BUS med en Arduino ansluten till en CAN-BUS sköld och fri programvara.

Maskinvara byggd i en tidigare InstructableI en tidigare instructable Ive visas hur du kan sätta ihop hårdvara för att skanna din kan bussen, den instructable kan hittas här.Jag skapade en forumtråd som förklarar lite mer i detalj,http://techtinker.c...

Ge ett hett tips: Skala en $2 Bill från en Pad!

Såvida du är en hård och aldrig tips någon service människor, är du antagligen van vid att sprita ut några tior för vänta personal, en betjänt, concierge eller någon annan tjänst. Du bryter ut plånboken eller dra ut en tuss av räkningar du har stoppa...

Octodogs i ett hav av skal

en av våra favorit måltider är Mac n cheese och korv. För att göra det lite roligare, jag hittade denna idé i en bok och det blev bra!Behöver du kokt korv, en kniv, och senap samt några kokta mac n cheese på en tallrik.Steg 1: bläckfisk: först skär P...

Vattennivån Sensormodul för Arduino AVR ARM STM32 STM8

Grattis till ICStation -teamet! De har utvecklat denna underbara vattennivån Sensormodul av stora ansträngningar. Denna modul med liten storlek och hög kostnadseffektiva är lätt att använda. I denna artikel, kommer att vi använda digital lagring osci...

Att lägga till ICSP header till din Arduino/AVR styrelse

så du kanske har spelat med Arduino's, eller snarare Hackduino. Om du gjort din egen Hackduino eller liknande projekt, kanske du undrar hur du lägger till i ICSP huvudet. I grund och botten gör med ICSP-huvudet att du kan använda en extern programmer...

Arduino AVR programmering sköld

Behöver du ett snabbt och enkelt sätt att programmet AVR marker. Visste du att du kan använda din Arduino och Arduino IDE? Denna Arduino shield gör processen mycket enklare.Du kan:Bränn en bootloader på en ersättare Atmega328 för din UNO.Göra ett fri...

Plug And Play remote relay (hallon och Arduino och läsa sensorer)

Målet var att skapa användarvänliga heltäckande kontroll över eluttag med relä, inklusive (och kanske främst) Web GUI och automation.Som alltid försöker jag använda befintliga lösningar och förlita sig så lite som möjligt på specifika plattformar.En...

Garduino uppgraderingen, nu med mer Twitter!

Ett par månader sedan kom jag över två stora instructables. Först var Garduino, en arduino kontrollerade trädgård som hjälper dig att odla växter i hemmet. Andra var den Tweet-a-watten, ett projekt som lär dig att övervaka ditt hem makt användning me...

Hur man använder ett fotomotstånd (eller fotocell) - Arduino handledning

Ett fotomotstånd eller fotocell är en ljus-kontrollerad variabel resistor. Motståndet av ett fotomotstånd minskar med ökande infallande ljus intensitet. Ett fotomotstånd kan tillämpas i ljuskänsliga detektor kretsar och ljus - och mörk-aktiverat växl...

Hur man styr arduino med ett mail

Det finns många lösningar för att styra en Arduino ombord: web lösningar, desktopen applicering lösningar, lösningar. Men hur mail? Ja, du kan hitta något på nätet men de behöver ethernet sköldar och ofta är Arduino som skickar e-post. Jag kontroll A...

Digital kök väger skala gränssnitt för Arduino

IntroJag utvecklade ett gränssnitt program för Arduino att läsa upp en skala. Det finns inga extra elektronik som behövs, bara två kablar mellan den interna skala elektroniken och Arduino.Se mer här:http://www.avdweb.nl/Arduino/Hardware-interfacing/S...