From 068ab575ba5d0beddcb29922997073396f46191a Mon Sep 17 00:00:00 2001 From: Max Braungardt Date: Sat, 24 Mar 2018 20:27:55 +0100 Subject: [PATCH] Added input. Adjusted led-driver. --- sketches/input/Makefile | 31 +++++++++++++++++++ sketches/input/input.bin | Bin 0 -> 7476 bytes sketches/input/input.c | 50 +++++++++++++++++++++++++++++++ sketches/input/input.hex | 16 ++++++++++ sketches/input/input.o | Bin 0 -> 7476 bytes sketches/led-driver/led-driver.c | 17 ++++++----- 6 files changed, 106 insertions(+), 8 deletions(-) create mode 100644 sketches/input/Makefile create mode 100755 sketches/input/input.bin create mode 100644 sketches/input/input.c create mode 100644 sketches/input/input.hex create mode 100755 sketches/input/input.o diff --git a/sketches/input/Makefile b/sketches/input/Makefile new file mode 100644 index 0000000..28318bd --- /dev/null +++ b/sketches/input/Makefile @@ -0,0 +1,31 @@ +CFLAGS = -Os -Wall --std=c11 -g +CHIP = atmega328p +SOURCE_FILES = $(wildcard *.c) +OBJ_FILES = $(SOURCE_FILES:%.c=%.o) +BIN = input.bin +HEX = input.hex +ASM = input.asm + +default: $(HEX) + +%.o: %.c + avr-gcc $(CFLAGS) -mmcu=$(CHIP) -o $@ $< + +$(BIN): $(OBJ_FILES) + avr-gcc $(CFLAGS) -o $@ $^ + +$(ASM): $(BIN) + avr-objdump -d -g -l -S $^ > $@ + +$(HEX): $(BIN) + avr-objcopy -O ihex -j .text -j .data $^ $@ + +asm: $(ASM) + +flash: $(HEX) + avrdude -p $(CHIP) -c arduino -B 115200 -P /dev/ttyACM0 -v -v -e -Uflash:w:$(HEX):a + +clean: + $(RM) $(OBJ_FILES) $(BIN) $(HEX) $(ASM) + + diff --git a/sketches/input/input.bin b/sketches/input/input.bin new file mode 100755 index 0000000000000000000000000000000000000000..d2965bb9b85add1b0a1e80cee05459cd48e677ce GIT binary patch literal 7476 zcmb_hdyHIF89&=yX`z*Eiy|qHZsXc^!*(8bW_PDMRzS90G*~KCh#I`TJ9Bqu?7TAf zPH8K`w1iNju8aA)fghgh^wTM7+infckaFCn>$+_~3( zxp4l>%V#z%e0kyYLeKNp&V42Ib&_1Dhj=g*6 zug6Xw-E!>NwR50Oe-`NP=iZ!OI;Z1S>aeP;QR-6Upok0}5AqS>anSEYr}hE#HUYFU zdYb^+{pf81Xx~9^6F^%)Z=+LtCz9M|q|~&)-w^o60>35j78EudyGP(p3H*S-UlaJO zz^@3ry4Tno5%^;Q9~JlsfqxbGd6b$>7(dL|V|#pqW&AwjJ&b?AxXSqFj2~qDYsQZ;{vG4*G5#atUon1_@f(c) z!g%dvG}i^j*E4>L@g(DQcnXyIB;zX?6a5%nf)?Tf(4qXV*{al|tgrL%G~=JK_DhT> z*v@&zr@Cxft4$sE2k^(yPX@gMca@ID$; zZ|8RrDJIbAy+myS{IE@^%N10)O{leMeSimXzb?SLai0;vx)w8pc(b}P!ozAqgp=x;2wxxhFrkLk=7_%ylx`C$sZtS6snGzF|G5B@ z|F59m0sjZE1BR^#!2XwOjh3G%sAMZyb;{{XX@4a-QQzOHx;5WTRtwIyhFdGTm87@d z^$R7}OY(@Mnkf`4yHKw-$`!YmQ01CG?r%*Er-ybl`Ig_7vBpModAg3}RiWfGS;5i@ z)=)l`Pg{^w>b04HaCl~D$Bkab%9D)@RIF6g@~QM#)bgrT^U5{# zx>9$7g%A`PvMi*kSZ_^LT)jq6I0=58Hr--o-Rl>{Nd>$O*v(dVdz*L*5cDzNV4=TGRBHs+U9v;C+)qCKhWi% zWpd39vX*epG6`qrSl%^NEbB(8OVgy^I2Faw?VYKH@h(!AZkmc1HzUO^FHBW<6|uja z+Fe6Tk=XIT)td^1R+U#~#uSG=&<2D&Rt}bTDVb_4yRd}0SY0CTZJ`q@OQh2^ZLBJt zie1{KD5i$p`B<(Z(z)eo&^1*o>+ywUV$GWL8>gZ;y1dJpYAmx}gqvAYk&7)AscovV zj29eTJjARi5)V00FBf@1WlF7^_s~_c`AvWGwB>?CbNm{2@Bh4q0%b4NzX50 z6HJth9_e&Rp_8-eEojkJOFM09NVNnPp%OPeL|bxtG|)vz#MP=17haQdteUX`Rqb&` zt43Tb7pNi(SRKsAH zIlh>T!nB4horm9{#vA^1@u{`;d)bf@tsV3`!l)6;A>6R!6m{BAky20Xpm z5%1mf%Oqe%i=F0nD)^NX2q?@9Qn15ITefYamC87;<6$i3Y`#NMBuP3u1i>(Vm*$s$ zJo!dP89pPU9Js8U5b1iOa8XL-TZ8a)%X4AW zwh3?^#@OH(7S|3hQ>ow05vGR_d@f%q&y+$s2iiU8)6ajM1?Z$l!OX+j0k`1So3=H+ z3;Chf8@?WDOkg>CzT>yN@ktV4jl5s48b+^L8O)%0eQI$DpZ@B7k;>u{eY5TmG>$yg4T2twFoDG-`d;Kb zGJkQ&jHOyEF6{*WPb{NLkNQZ2wcG)%PgJzLg_}Nk(eyFgK2H#B0ON54*+J_Q6&B-r zxJS{6$!nTqn$G{^__HzkCxWK&e*kU9FE0H}$Z39k8UiL7>GvaeX@5hE-V9pW%YhCX zji=KOC#d&YRD5@A{KsQ7omG|s1LRLNCO;ITABfQ>V)Pe5`>;o632RsMC_4XC>IhxH z>r>A#%_PVBf}m;spMsY0pBHk9@6Vva^-J-+37XCc=saOPIHYu*LgR;G@{t&Q6X>v!Kexr`Pk>&cmjN2hR{(ANU7_eq*VLy^)j>;t4uhui z5NZR+-+h9ne9}3v)ISlUABoYYV)WB7`um{CKcr2qLq73x*XJ#^y?2j&i*4go3UI3i zx9^-};8z=V)16^_*lpHB!aZ2_6Lk#n{CdM~H0v`>r>g7%el|62yy75B6zhhDp3|gv zpyXBR^@ezXTLz~AeOPSNE9IK&1*2`3U!>-hpA{o$^psPyv1hr>W~?g2pbzZ1aPq3c!5QP+G*PwG2_z|M!8ldSAtzCEzGCK1b@51#Flvi z>AFa9wPPmF48U&gv?^j2@_{zRC~;JhAc?d)nxT}zlIt`&Oxwa4Q51{93FDwCbRxpE z=m~W$!7J=nw#!>yr|q1gwF4PnBYWgXXgeh^)hguY47O6i*3Qq*|8k-Ih}Qlkfimp} z;ro?Xcs#gm!j<&!gz)o1|G~)?l3T!}$6xA&GSUz6u)xG`L+~QD+i=J218)twg-*7@ zHi7>V=>M#+h4%7b5T^Z;+7md7UZ){nNk)AF9VVjoBJ^&IDE)hfNE$2W?R$q(cL}|4 lUb=@lB5@IVd*J+Kz%Z>S4%!RocY(C`O&ml2Pz((1{TsV_{NMlp literal 0 HcmV?d00001 diff --git a/sketches/input/input.c b/sketches/input/input.c new file mode 100644 index 0000000..c367563 --- /dev/null +++ b/sketches/input/input.c @@ -0,0 +1,50 @@ +#include +#include +#include +#define F_CPU 20000000UL +#include +#include +//~ #define BAUD 9600 +//~ #include +#include + +uint8_t volatile status = 0; + +ISR(INT1_vect){ + status = 1; + //~ PCORT0 = 1; +} + +int main(){ + + //~ PORTD |= (1 << PORTD2); // turn On the Pull-up + // PD2 is now an input with pull-up enabled + + + EICRA |= 0x0F; // External Interrupt Control Register + // INT0 on rising edge + EIMSK |= 0x03; // External Interrupt Mask Register + // Enable INT0 for interrupt + + SREG |= 0x80; // Status Register + // Enable global interrupts + + //~ PCICR |= 0x04; // Pin Change Interrupt Control Register + //~ // Enabled PCINT[23;16] -> Pin 13,12,11,6,5,4,3,2 + //~ PCIFR |= 0x04; // Pin Change Interrupt Flag Register + + //~ PCMSK2 = 0xff; // Pin Change Mask Register 2 + //~ // Enabled PCINT[23;16] (Single Pins) + DDRC = 0xff; + + + + while(1){ + if(status){ + PORTC ^= 0x01; + status = 0; + } + PORTC ^= 0x02; + } + return 0; +} diff --git a/sketches/input/input.hex b/sketches/input/input.hex new file mode 100644 index 0000000..aabeaf9 --- /dev/null +++ b/sketches/input/input.hex @@ -0,0 +1,16 @@ +:100000000C9434000C9446000C9448000C94460068 +:100010000C9446000C9446000C9446000C94460048 +:100020000C9446000C9446000C9446000C94460038 +:100030000C9446000C9446000C9446000C94460028 +:100040000C9446000C9446000C9446000C94460018 +:100050000C9446000C9446000C9446000C94460008 +:100060000C9446000C94460011241FBECFEFD8E03C +:10007000DEBFCDBF21E0A0E0B1E001C01D92A13004 +:10008000B207E1F70E9457000C9473000C94000033 +:100090001F920F920FB60F9211248F9381E08093DD +:1000A00000018F910F900FBE0F901F9018958091B7 +:1000B00069008F60809369008DB383608DBB8FB7BB +:1000C00080688FBF8FEF87B921E092E080910001B7 +:1000D000882329F088B1822788B91092000188B15D +:0A00E000892788B9F3CFF894FFCF09 +:00000001FF diff --git a/sketches/input/input.o b/sketches/input/input.o new file mode 100755 index 0000000000000000000000000000000000000000..4939671f94b51af008082109fdfba1c5b397d2d1 GIT binary patch literal 7476 zcmb_hdyHIF89&=yXrYyDiy|qHZewk`VLOjIv%AwBD^#{E8Z4D6L=9eMXYTHfomb}G zDQ!iVmNb+oY#-}?f=bk+F(DL0K_f*%s>G1SXMClu#tpb)e2;VQxpU_J?YHje>FH5XTcY-;h{|H{-fNUPf_qjCs9v>6EmzB!KN~6F z{(9Ii!F>rj>EB0}o;LGN)zJ z!M`3oeR$*1=T@Eob^0Nozn^<+cHx|kTd9MpvO=lLkb@F3cr46EgvUU?51rZv(c1*j z%IIwZXb+&b37~xky-fgZ4!w;|?OjN6n~_qJ0)Io`9}E1pz#CE6NO!lupBDItz+V&i ztiZ1dyu8=i92WTF0v{ImNr8VM@CAXd>9aPs3mgdisK7rG_+J9A#bS=)y;0zjz>f(0 zl)%3c_%bZ&$WBt=+XM~-eoWw31im2f`lZ(9odWL#J{;EfWQa4*Ds`G=4lw5|l=NaG2cF=@PaG?}H5Gf5j%H9%Ff(hi4f7jHO>@ zJkEB`Gd|U2(^+ooxLe>L#P97_Y8JSyKFl_sVEmELo5g*5In}d=KZ^I! zdi4%|7m;8Bo!(2-#xWkXadm})D7SI7Qmqd0dfcxM@h;q{!XILrs~HoEY|=QjaidB2 zYCXu~YZTJNZCqW486vzvU1ji)T4QihU2E_S#)ok=q&ArG&7gD}S4ovJIHg8HO#bIW zO#Z)$eh2&?zz!I-5&-*Ot~FXgqNtLsWVKLEXQua7lH>Kgt*TcGykxal*xc}HC9jh7 z_j*Bb+VhjFkyKN~qT?3p)keAEl@h943&w&?siE}X)+XQbn={VnNG?y;(Yz{77n&^K zXaQ$1pUS5la4PlM)Ig-38Qgl4pKX_Ue%|bD>jRJ-S(qx+rNIvS- zH9?mUQXdNC$cTxtd%7^$@Q0@}l5)y0!;o=0ti`8wkYwqbF~)*j()M{`C*3`TV4%xE z$L5+HWGUgCV-wEKF~4i7Sk|pjm!wUJ4|~H#KcoNMrQKczZGgX{PF?Y^qVoX!$4h2aG)ryu$8E`0A!!r@5DG?5ZY!xk& z^5G2SwBn=;Q0F8HP_k&3fKnJAaZGrQPD_|cx09#S5@wTF#(&xaU@;1=lc$ps#zrjT zy`ysyh1SW_DbbNt3;V-LI~~~&<0cXR{ZS}+lXw)cOiJa+Nw%Ab*83p7TMl~Rm|pFO z_a6E(2?xz$r@0FieC31;3NwQgZ1vNQ>soH5GREt82#YzJ@8Fb(lgsdt?N9`2-Q9;p1>e zv|f(Z4)iJVpx>-p1&t$5b)%ry8%$t+fqpM? z9(jCz!Rk^i<`=eO{7=lI%M$fbgEhYZTA!$BehW8!@}lXZxP6`=+5q%%1ld8;iOMuF z(N=;_Cnm2mrD;0hkH_dQf({T9oh7VXvP9AOr&5RLg0VjJ zEYnPKeqR(c&Hq!-GXC?RBmXF$e&RoPf>~R#QG>`pcH+x#&88^>Za?Y5#iA z$H1fW6w)7z@rPsdHqg?a+hX)5K`$($+4Oux(AM7`MQ6IUK7FbVTKaPkG@XY~8$kZ< z7c}LQ&Vi-;@fiJRj6M~kpNY}m2TlG_T32Dc;N`B*TU>X~Zub_~#j6zHRt;|7zLP;v zZMaQuit$0OS&s;Be>q6hq2dSihTCY?r<#STa*OzEYPxvEftM)NEe*Ls6EC=qu}Zz( z5HE1Y;xu3Yi;a4vT=V=;+x7SrYG3(Tp+VXcg_4Us%WF1UjQ}*gcU_zVlw52bR(1qX zTJK2MdLY(om9BB)8q3$HQJA8?ek8E=Yan^6Pm=M zwho=}r9`07z7f5LiKfSh+D3GG{H49f2Js_2BruJ)!FcHsWp-Tp?pT5Dpvzr)9RDTI z|5;Is?By{)nD$RB@Qg-l^1GLN1z@?osT- gE<{9 literal 0 HcmV?d00001 diff --git a/sketches/led-driver/led-driver.c b/sketches/led-driver/led-driver.c index 852e1c3..a8aecb4 100644 --- a/sketches/led-driver/led-driver.c +++ b/sketches/led-driver/led-driver.c @@ -58,14 +58,9 @@ void writeZero(); void writeOne(); void writeRGB(uint8_t red, uint8_t green, uint8_t blue); void writeNothing(uint8_t c); +void mydelay(uint16_t ms); -void mydelay(uint16_t ms) { - while(ms--) { - _delay_loop_2(5000); // 1ms - } -} - -int mainz() +int mainParty() { DDRC = 1; uint8_t d = 14; @@ -91,7 +86,7 @@ int mainz() return 0; } -int main() { +int main(){ DDRC = 1; // PORT C0 output // uart_init(); @@ -220,3 +215,9 @@ void writeNothing(uint8_t c){ } _delay_ms(500); } + +void mydelay(uint16_t ms) { + while(ms--) { + _delay_loop_2(5000); // 1ms + } +}