Fórum témák
» Több friss téma |
Az FT a five volt tolerant-ra utal (vannak olyan bemenetei ezeknek a mikróknak, amikre lehet 5V-os jeleket kötni, viszont nem mind az, ezért ellenőrizni kell az adatlapon). Az adatlap szerint a max feszültség VDD+4V ezeken a lábakon (azért nem szerencsés 5,5V-nál nagyobbat rákötni). A belső diódát használni feszkorlátozásra amúgy sem szerencsés (az védelmi célból van ott), simán tönkreteheted ilyen kísérletekkel a mikrokontrollert.
Üdv.
Nem ismerem miként van kialakítva a FT része jelenleg megfogta 8,6V-nál a bemenetet működik nem ment tönkre. Érthető is ha Vdd 3v3+4v + a dióda. Gondolom Ft valami féle zéner korlátozott belső sín amire a diódák elvezetik a túlfeszt a zénert pedig rákötötték a +3v3-ra. Természetesen nem szeretnék nagy áramokat elvezetni a belső diódákkal ezért tettem jókora előtétet (10k) max 5mA kellene elvezetnie. Tehetnék + elvezető diódát mondjuk a 3,3V táp felé csak az mindegyik bemenetnél + 1 alkatrész amit ha nem muszáj nem használnék.
Nem kell nagy aram ahhoz, hogy egy FET-et tonkretegyel. Azok a diodak nem erre valok. Ha az adatlap azt irja, hogy max. X volt, akkor annal tobbet semmilyen trukkel ne akarj ravezetni, mert el fog romlani. Ha nem most, akkor kesobb. Es az nem valasz, hogy eddig nem romlott el. Nem veletlenul adjak meg az adalapon az Absolute Maximum Ratings resznel ezeket. De ez itt off, ugyanis ez nem ARM kerdes, hanem altalanos HW tervezesi alapszabalyok, 1. resz.
A hozzászólás módosítva: Jún 28, 2016
Szerintetek ez a kettős értékadás így működhet?:
A Keil elfogadja! Csak mivel megszakításban lesz! Még nem tudom debugolni.
El szúrtam a maszkolást!
Így lenne jó:
Persze, ez teljesen valid C kód. Az már más kérdés, hogy biztonságkritikus rendszerekben tiltják az ilyesmit (pl. a MISRA C és a CERT C szerint is tilos), de ha nem robotpilótát vagy atomerőművet írsz, akkor teljesen oké.
Közben meg néztem, mi lesz a lefordított kód?
Szóval tévedtem! Az első változat hosszabb 3 utasítással! A hozzászólás módosítva: Júl 1, 2016
Vagyis akkor inkább, nyertem 3 utasítást?
Köszi a választ!
Közben rá jöttem, hogy a törlés is inkább így helyes:
Bits 19:0 PRx: Pending bit 0: No trigger request occurred 1: selected trigger request occurred This bit is set when the selected edge event arrives on the external interrupt line. This bit is cleared by writing a 1 into the bit or by changing the sensitivity of the edge detector. A hozzászólás módosítva: Júl 1, 2016
Sziasztok. Elég régóta foglalkozok 8 bites AVR mikrovezérlőkkel. Szeretnék átállni ARM-re. Melyik gyártó termékeivel érdemes elindulni? Van-e hozzá valamilyen (lehetőleg ingyenes) fejlesztőkörnyezet? Néztem az Atmelt (ha már eddig AVR-rel foglalkoztam), de nincsenek normális dokumentációik. Az AVR-nél megszoktam, hogy az adatlapban le van írva az összes regiszter, melyik bit mit csinál, példaprogramok, stb, itt ilyesmire ne is számítsak?
Az én szubjektív tapasztalatom, hogy az STM Cortex-M0, M3, M4 cuccai futnak itt a legjobban.
Jó magam foglalkoztam NXP LPC-vel amíg az ST fel nem zárkózott és végre hajlandó volt SDRAM-, és TFT vezérlőt pakolni az STM32F42x sorozatba. Aztán Előfordult még olyan hogy TI, meg NuC. Kb ennyi. A hozzászólás módosítva: Júl 10, 2016
Szasztok!
Egy ARDUINO DUE modult használok és éppen a megszakításokkal bajlódok. DMA vezérelten használom az egyik dac kimenetét magas prioritású megszakításban, és szeretnék ebből a magszakítási rutinból egy bizonyos esetben egy alacsonyabb prioritású megszakítást aktiválni hogy amint ez a magszakítás lefut, az legyen az elsődleges feladat hogy azt is elvégezze és majd csak aztán térjen vissza a főprogramhoz. De miközben az alacsonyabb prioritású rutin van feldolgozás alatt időnként esélyes hogy azt is meg kell szakítani és a magasabb prioritású gyorsabban lefutó megszakításba is vissza kell térni. Ezért mindenképpen előnyös lenne hogy programból tudjam aktiválni az alacsonyabb prioritású megszakítást. A kérdés az lenne hogy van e rá mód a periférikus megszakítások babrálása nélkül egy szoftveres megszakítás generálni?
Nem világos számomra, hogy mit szeretnél csinálni, de az MCU adatlapjából a 10.20.8 Software Trigger Interrupt Register című szekciót ajánlom a figyelmedbe. Csak vissza ne kérdezz, mert én nem használok ilyen mikrovezérlőt...
Köszönöm a reakciódat. Az az igazság hogy én is éppen ebben láttam a problémámra a megoldást, és arra várok hogy majd valaki ebben segít. Sajnos fogalmam sincs hogyan is használjam ezt.
Hi!
Van valakinek tapasztalata abban hogy hogy kell órajelet változtatni? STM32F429DISCOVERY 8MHz kvarc, /8 aztán x240 és végül /2 így lenne 120MHz a CoreClock Mellette egyik busz 30 a másik 60Mhz-en. Tehát beállítom az osztókat. Bekapcsolom a HSE oszcillátort. Megvárom hogy kész legyen (HSEReady) Bekapcsolom a MainPLL-t és várok (PLLReady) Majd a System Clock Switch-ben 0-ról (HSI) átállnék 2-re (PLL) na itt megfagy. A Clock-hoz tartozó interrupt biteken nem találok semmit.
Nah.
Meg van a megoldás, leírom, lehet egyszer valaki rákeres és jól jön neki. Mielőtt bárki bármit tekerget (és olyan "jó" hogy ez a mindenféle CMSIS, CubeMX és hasonló csodákban rejtve van), a FLASH->ACR regiszterben az STM32 belső Flash-hez tartozó LATENCY-t át kell állítani. Indulások, 16MHz HSI clock, és 3.3V táp mellett ez 0. Esetemben 3-ra kell feltornázni 120MHz kívánt órajelhez. Célszerű csinálni kis "táblázatot" hogy az órajel tekeréskor ezt is megcsinálja az adott rutin. Leírás: en.DM00031020.pdf 81. oldala. A hozzászólás módosítva: Júl 22, 2016
Jaja, pont tegnap futottunk bele, 24MHz-enként 1WS kell. Agyaltunk is, hogy a flash olvasás miért lehet ilyen lassú... bár van olyan típus, ahol 128-bit széles szervezésű a flash, így nem kell WS. Van pre-fetch, amit be lehet kapcsolni (ez most persze az új F071 sorozatban van),
a 429-ben nem tudom, van-e, az sokat gyorsít, persze ha ugrás van, akkor nem számít. Nagyon nem mélyedtem bele, csak olcsó ARM-et vadászott egy kolega...van beépített MODBUS meg HDMI CEC, megmindez 500Ft körül, ezért beszélgettünk róla. Nem tudom, a 429-nél be lehet-e lapozni a RAM-ot mint prgram memória, érdekes módon a beépített SRAM 0WS-es.
Ennyire nem mélyedtem bele, de majd most. Az eddigi tapasztalatom az hogy az ember az elejét nagyvonalúan átugorva lepődik meg. Most már azt csinálom, hogy minden órajel tekerésnél, az AD mérjen egy tápfeszt, meg hogy aksiról megy -e stb.
És akkor a perifériák újra konfigolásáról még nem is beszéltünk. Érdekes lesz!
Idézet: „ez a mindenféle CMSIS, CubeMX és hasonló csodákban rejtve van” Nincs rejtve,csak át kell írni.( Atollic, stdlib)
Ez melyik file?
system_stm32f4xx.c
Abban nekem ilyen nincs.
Nem ismerem a Keil-t, az Atollic-ban ez van indulásnál:
Jah... Ok! Atollic-ot nem használom.
Jól hallottam, hogy már free? Vagy a CooCox-al keverem?
Nincs code limit, viszont csökkentett tudású a Pro-hoz képest.
Bővebben: Link
Idézet: Tulajdonképpen elegendő csak közvetlen azelőtt átállítani a LATENCY-t, mielőtt a PLL kimenetét rendszerórajellé teszed.„Mielőtt bárki bármit tekerget ... a FLASH->ACR regiszterben az STM32 belső Flash-hez tartozó LATENCY-t át kell állítani.”
(system_stm32f4xx.c állomány részlete a The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors, 3rd Edition.pdf c. könyv egyik mintapéldájából) A hozzászólás módosítva: Júl 23, 2016
Ez tiszta. KEIL-ről beszélek. Direkt rákerestem összehasonlító jelleggel a FLASH->ACR kifejezésre.
Először STM32F207-el kezdtem a system_stm32f2xx.c file-ban ez a rész benne van. Ugyan ez a 4xx-ben már nincs. Ezért mondtam, hogy a 4xx-es system file egyfelől eléggé ki van herélve másfelől számomra "nem egészen üzembiztos", vagy inkább "nem egészen bolondbiztos".
Sziasztok! Arduino után kicsit elkezdtem nézelődni milyen alternatívák vannak, és megakadt a szemem ezen: Nucleo F446RE.
Annyira megtetszett hogy rögtön rendeltem is belőle kettőt. Abban szeretnék tanácsokat kérni hogy mégis hogyan kezdjek bele ezeknek a programozásába. Nem vagyok egy tapasztalt programozó. Villanyszerelő vagyok. Azért már egy jó ideje ismerkedek a programozással, szóval nem nulláról kezdem. Jelenleg úgy gondoltam hogy megpróbálom az STM32CubeMX-el előkonfigurálni és aztán az IAR-ban továbbfejleszteni a kódom. Nem túl sok az ismeretem ezekről a mikrovezérlőkről, és megköszönném ha segítenétek benne hogy mégis milyen dokumentációkat kellene átolvasnom ahhoz hogy valamiféle sejtésem legyen.
Kár hogy nem visz előrébb.
Mellékesen megjegyzem pont ezt a linket tartalmazza az eszköz által csatolt meghajtó is. Én önnáló fejlesztőkörnyezetet szeretnék használni nem ilyen webes vackot. |
Bejelentkezés
Hirdetés |