Sida 1 av 1
pic pwm 38 kHz
Postat: 20 juni 2005, 22:37:45
av vlad
Helt ny inför pic... finns det någon pic med pwm (pulse with modulation) som kan generera 38 kHz för tex infrarött ljus.
Postat: 20 juni 2005, 22:39:54
av cyr
Typ alla som har en CCP-modul?
16F627/8, 16F87x m.fl.
Postat: 20 juni 2005, 22:40:15
av $tiff
Jepp. Alla PICar med en så kallad CCP-modul (se datablad eller microchips hemsida). Just frekvensen 38 kHz är det inget problem att fixa så länge du har en kristall på några MHz.
Vilket språk programmerar du i?
Postat: 20 juni 2005, 23:57:36
av sodjan
Som andra har sagt, vilken PIC som helst med PWM/CCP modul.
Allt från 8-pinnaren 12F683 till praktiskt taket all a större modellern.
För övrigt är det himla enkelt att köra IR-com med CCP modulen.
Bara sett upp den och styr sedan bärvågen till/av med enda bit i ett register. Genom att "kolla" en bit i den räknare som styr CCP modulen så kan man enkelt få "rena" till/från av bärvågen utan halva pulser och liknande.
Postat: 21 juni 2005, 22:34:29
av bengt-re
Med risk att vara en tråkmåns vill jag påpeka ett problem om man inte tänker sig för - man bygger sin 38khz med ccp-modulen, matar iväg den till en ir-diod, frid och fjöjd, men om man på samma kort vill ta emot 38khz med en ir-modul och dessa sitter på ungefär samma ställe finns en stor risk att 38khz plockas upp man tar emot sig själv. lätt löst med ett RC-filter på matningen för ir-mottagarmodlen, men gör det också! Har stött på dessa EMI-problem och det är rätt störande..... (hihi)
Postat: 19 juli 2005, 14:25:19
av vlad
Har inte köpt någon alls än men har tänkt att programmera i C. Hur är det med trådar och sådär när man vill göra flera saker sammtidigt?
Postat: 19 juli 2005, 14:37:30
av Schnegelwerfer
Du kan inte göra flera saker samtidigt med en enprocessorlösning. Jag vet att det finns OS till PIC som stöder timeslotting, men jag vet inte exakt hur bra de fungerar.
Jag antar att du tänker bygga någon fjärkontrollapplikation? Du kan kanske använda dig av interrupts för att hålla koll på inkommande signaler samtidigt som ditt huvudprogram exekverar.
Postat: 20 juli 2005, 16:41:16
av vlad
Nä ingen fjärrkontrollsapplikation bara nyfiken på hur det fungerar. Interrupts låter som något för mig. Tack för inläggen.
Postat: 20 juli 2005, 17:34:20
av sodjan
vlad skrev:Har inte köpt någon alls än men har tänkt att programmera i C. Hur är det med trådar och sådär när man vill göra flera saker sammtidigt?
Vad är din definition av "samtidigt" ??
Postat: 20 juli 2005, 18:33:14
av Icecap
För att ha timeslotting "måste" du ha ett RTOS och jag har aldrig sett sånt till PIC, å andra sidan är det total överkill på en PIC. Ska man köra flera task "samtidig" ska du nog se dig om efter en helt annan styrenhet med helt andra recurser.
Men rätt använd kan interrupts vara det helt rätta, man får nära nog realtidsrespons och man kan använda timern t.ex. till att sekventiera saker i samarbete med mjukvaran såklart.
Postat: 20 juli 2005, 18:52:57
av sodjan
Hela denna diskussion är helt bortkastad innan vi vet vad vlad menar med "samtidigt".
"Samtidigt" kan vara "inom samma millisekund", "inom 10 microsekunder" eller "samma dag" helt beroende på sammanhanget.
I allmänhet är det inga problem alls för en PIC att göra flera sakar "samtidigt" och det finns inget som helst koppling till interrupt.
Interrupt har med att göra "något annat" snabbt, även om det oftast blir enklare och "renare" kod på det sättet.
Med en mer "sann" definition av samtidigt, så gäller naturligtsvis att ingen PIC (eller någon annan singel task/singel thread processor heller) kan utföra någonting alls samtidigt...
"Timesharing" och "Real time" OS är inte detsamma, snarare motsatser och är optimerade för att lösa olika saker. Ett RTOS är optimerat för att svara snabbt (vad det är är en annan sak) på ej planerade händelser som t.ex interrupt från interface. Ett "time share" system är optimerat för att effektivt dela på tillgängliga resurser på ett sådant sätt att användarna upplevar att de har kontinuerlig "access" till systemet.
Jag antar att det med "timeslotting" närmast avses "time sharing", eller hur ?
För att återvända till PIC, så finns det folk som påstår att de har skrivit RTOS till PIC, men jag vet inte hur använda de är i praktiken. Med lite kännedom om vad man håller på med (och en definition av vad man för tillfället menar med "samtidigt" !), så fixar sig det nog i alla fall...
Postat: 20 juli 2005, 18:55:01
av Schnegelwerfer
Jag har faktiskt sett ett OS till PIC som stöder timeslotting, men jag kommer inte ihåg var jag hittade det!
Dessutom lär ju OSet ta upp en hel del minne, och det kanske man inte har råd med.
EDIT: Sodjan hann före...
Postat: 20 juli 2005, 19:10:47
av sodjan
Postat: 20 juli 2005, 19:32:52
av sodjan
En annan tanke...
För *dubbelriktad* kommunikation, vilket har nämnts här (dock inte av vlad), så kanske man i alla fall skall utvärdera IrDA. Jag har dock inte en aning om hur krångligt det är att "interfaca" en IrDA modul till en PIC...
Postat: 20 juli 2005, 21:17:14
av EagleSpirit