'MCU' kategorijos archyvas

Biški vėl apie ARM ir STM32

Saturday, October 28th, 2017

Kažkaip nusipirkau pas kinus porelę ST-Link adapterių ir panorėjau juos išbandyti. Deja pirmiausia po ranka nebuvo mano pagrindinio kompiuterio, o tik nešiojamas vasarinis. Jame nieko nebuvo susijusio su ARM programavimu. Tai nutariau atburti kaip tai daroma ir tik tada paaiškėjo, kad niekur neužrašiau, kaip visdėlto nuo nulio paruošti kompiuterį (windows) darbui su STM32 čipukų programinimui.
Dar […]

AVR87: TXC101 UHF siustuvėlis

Thursday, March 16th, 2017

Tai mano pirmas eksperimentas radio dažnių generavime. Todėl labai jau nekritikuokite. Viskas prasidėjo nuo signalizacijos siustuvėlio, kurio nesugebėjau paleisti. Poto iš kinijos nusipirkau pirmą pasitaikiusi mikroscheminą kuris generuoja aukštus dažnius. Tai buvo TXC101, 300-1000MHz transmitter. Kuris gali veikti kaip savarankiškas prietaisas, o gali veikti valdomas mikrokontrolerio. Poto vėl buvo viskas užmiršta, kol kitame projekte liko […]

ARM:0002 versija B, TXT LCD

Monday, March 6th, 2017

Kol kas visiškai neapsisprendžiau kokia “baze" remtis programuojant STM32 mikroschemą. Dabar tik eksperimentuoju ir paprasčiausiai pakartojau senesnį ARM projektą su tekstiniu LCD ekranėliu. Kol kas nebraidžiojau optimizacijos pinklėse ir naudojausi kažkieno sukurtais primityvais, kurie gana griozdiški viduje. Tačiau šaip - ne taip pavyko paleisti.

(dešinėje skaičiukas kur neaiškus tai fotikas pagavo momentą kai keičiasi reikšmė)
Kokios iškilo […]

ARM:0001 versija B arba STM32

Wednesday, March 1st, 2017

Kažkada gavau Atmelio ARM šroto. O dabar gavau ST produkcijos beveik šroto. Tiksliau pamačiau, kai metė į šiukšlyną “paletėlę"* su STM32 čipais. Dalis čipų nukrito neatgaunamai, o keliasdešimt buvo sugauta ir parkeliavo namo. Tai buvo STM32F103RET6 - 512kB flash ROM, 64kB RAM ir 64 plonos kojos (gana daug kojų palinko gelbėjimo operacijos metu) … LEDų […]

Vieno nixio laikrodis

Saturday, February 4th, 2017

Per naujų metų sveikinimą panaudojau šią iliustraciją:

Tai vieno nixio laikrodis. Visos detalės tipinės, hardwarėje nieko specifinio. Vienintelė naujovė- viskas valdoma vienu mygtuku. Kadangi reikia daugiau funkcijų, tai mygtukas atskiria “trumpą" ir “ilgą" paspaudimą.
Dar vienas skirtumas- RTC panaudotas iš kažkokio DVRo. Tai Dallas Semiconductors/Maxim čipas DS1338. Jis turi “tick" išėjimą kuris užprogramuotas 1s impulsams ir aktyviai […]

Kiniškas niekaliukas arba 4×4 LED kubas

Sunday, December 25th, 2016

Kažkada vasaros metu užsakiau kinišką rinkinuką surinkti 4×4 LED kubą. Rinkinukas nėra brangus, kažkur puspenkto dolerio su atsiuntimu. Už tai gaunam PCB, kalną mėlynu (gal yra ir ne mėlynu) LEDu, kelis rezistorius, dvi mikroschemos 74HC595, visokios jungtys… Ir labai labai kiniškos instrukcijos kurios nieko nerodo. Todėl litavau pagal save ir padariau kiek atvirkščiai- LEDus pastačiau […]

Atari 800XL remontas

Thursday, December 8th, 2016

Dėl statybų nieko gero ir nedarau. Bet vasaros metu nusipirkau seną Atari 800XL kompiuterį ir diskasukį prie jo. Šiaip, pirkau tik diskasukį, nes pats kompiuteris neveikė- nepraeidavo RAM testas (ir rodos ROM), mirgėjo keli simboliai ant ekrano. Visi defektuotos atminties požymiai. Rodos problema paprasta ir išsprendžiama, nes kitą Atarį kompiuterį jau suremontavau.
Padarius skrodimą, paaiškėjo, kad […]

AVR80: OLED displėjukas ir SD kortelė

Saturday, April 2nd, 2016

Jau daug metų norėjau ir pagaliau padariau SD kortelės rašymo eksperimentą su ATMEGA16 mikroschema. Man kažkodėl visiškai viskas neveikė ir teko kankintis su vos vos veikiančiu LCD ekraniuku debuginimui. Vėliau nusprendžiau panaudoti maža nereikalingą OLED displėjuką iš kinijos. Ekraniukas veikia nuo 3V todėl nereikėjo vargti su signalo lygiai ir panašiai. Ekraniukas kabo ant tų pačių […]

Biški C optimizacijos

Tuesday, March 22nd, 2016

Jau ne pirmą kartą randu svetimam softe vieną dalykėlį. Įdedu čia du fragmentus- originalų ir mano rašyta:
Originalus:
for(int8_t bit = 7; bit >= 0; bit–)
{
L(PORTC, SS1306_OLED_CLK);
if((1 < < bit) & data) { H(PORTC, SS1306_OLED_DAT); }
else { L(PORTC, SS1306_OLED_DAT); }
H(PORTC, SS1306_OLED_CLK);
}
Mano:
for(unsigned char bit=0;bit<8;bit++)
{
L(PORTC, SS1306_OLED_CLK);
if(data & 0×80) {H(PORTC,SS1306_OLED_DAT);} else { L(PORTC, SS1306_OLED_DAT); }
data = data […]

AVR79: WS2812 RBG LED juostelė

Sunday, February 21st, 2016

Trumpas eksperimentas su kiniškais, individualiai kontroliuojamai (addressable) RBG LEDais. T.y. tai kaip ir ilga juostele su RGB LEDais kuriuose sumontuota maža mikroschema kuri leidžia užprogramuoti trijų RGB šviesos diodų intensivumą. Šviesos diodai (ir pati juostelė) valdosi tik per vieną duomenų laidą, t.y. protokolas asinchroninis ir jo veikimas priklauso nuo teisingo taimingo.

Pradžioje galvojau rašyti viską nuo […]

Unhappy Tikbalang