From d9ce836371d07161cf3a0263abbd0095ee9454ef Mon Sep 17 00:00:00 2001 From: Florian Loeffler Date: Fri, 19 Feb 2021 10:09:41 +0100 Subject: [PATCH] initial commit --- Makefile | 5 ++++ a.out | Bin 0 -> 8488 bytes uart | Bin 0 -> 8488 bytes uart.c | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 81 insertions(+) create mode 100644 Makefile create mode 100755 a.out create mode 100755 uart create mode 100644 uart.c diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..77008af --- /dev/null +++ b/Makefile @@ -0,0 +1,5 @@ +all: + gcc uart.c + +clean: + rm uart diff --git a/a.out b/a.out new file mode 100755 index 0000000000000000000000000000000000000000..59841f237d46866afaea853878f959123cce772a GIT binary patch literal 8488 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 Wn8%>wF=O_aC4~bApZJzZi~j|c+nYrI literal 0 HcmV?d00001 diff --git a/uart b/uart new file mode 100755 index 0000000000000000000000000000000000000000..59841f237d46866afaea853878f959123cce772a GIT binary patch literal 8488 zcmeHMZERcB8Gdi==Y3?U>ksgsacC#Io+ru{(bHmYsfoCJ@wY*LX}hsK2WJons_ zUYq_H5)B{@sRQh^8886>8`FhIFEwY{nnItmu@GtcLG; zxsLv<9T2ethQknr?00!3O4jWJk{m(>@(S1QLpcn6810g;g-&LDm>ovpN`_1$IGOe7 zC8lmYxyIor4835sOMeaiHp1TsKY0l{nSR~JEbv*hP40!AtbKQs>;%+L5bFoQL-2ds z{{S{J>$7j|spLp|D$$lorVEp8vE0P?XgHqjlFa~jZ4%|tTa6H&&5@R%gX`|nq z+yBSjOE>)Gsh2}*w?4h_hdVY-y{qxWt^!N2J1WuX`fmRd{ekH8jf_Qm9XLAh%(3e) z-4h&nDK;DY){l;T?dFC=(JT~~V7lOzBQNRA~r*B_>@3}|LwjcP?B~+=P zF^?94`~{D`0rI{o{kkf>wo3m>m3~c?ep{6utI|1kn%F+qnI`Jnw1SfQ!75!aH*wC! z4#^hmyu?N_Ia{*1WZE7TJD#`fm~H1IXT=gwM^lCTxWrSLyd{~em4<1|MdVYKl@-%u zJTq^{a<(}UOQz+4T++5+ADhUeUArlJ`uBDBm^X)2Z)-5ySNg}5&2^!lu_2jU%aw7| zeTHbTMm7OZhw>UsaF8V?yMZMpyOAXpM>9(-ju1<1niiIb)XEa|x3R>2im+UbF=V+$ zWG72Z*e;e>?15<8`P)U_3rwF`@)z4m{^Cq&UGYRQaPb$VH)|2-*C!T&zd63}=0`s- zY56se{EA1O^T;oF<$eg9qT_{HnX z?Z(^X@`XRIF(iulXa=SkF(lGcTq%d>eAE@_GsS60xmLUrst0G}p9% zzBao3`KVl8!#LZ~r(pEV(x2dKz`5wq-nR4px$i8TdTU@oBE`i(q_&i(pD87bnbNap zCm^+@Kx9kFko+P>sA&-P6R;0P_AmH?v-1JjQksRnt7E3L7j^yU*C0wk+3%LUEQ7O) z#6Fwn7gt)P-tGLm@n4=vT|_V+pUR3vDS8>x*<3eTd=6Za)f$ z6GVT5h{1V4e_wn7;}VA*GrM>Y@{K1S%p6zU&>eVxb! zkG<(I?8IXmT{somzd)Za@=#ISJ~KAsb^_Pw;I=q%I4(ZHdVFjDf;@I+sRsKmh_x32 zpFyxrl)d0#a29-VPuqFP&d%>Wg7F=kDXlzmqPSuZd}Mdgn4X=lIXOGufcU#(bMqG; zMTF?=q7i*$!5?|@oz)nh0Q#^B?Q!n?a@YL7%H<~DmJVZ`4}!7&=DE+g$N9_Ip0JL# z+xAq~Kv#t8{TrK=-wbp)=Cz||4BIs*R}Bk<-5yd{81{7YsI)r?#i?;hgE?=kaK=AB!pgYh0A zLFg(?7WwDL<;-d1lq+DrSYtRjXAmV`uVos{e2DM&o4_RIa)S3azKxB8nfuj)H-k_6 z3`c$mC36|P9>_+w{J31s9EZJ(lKs4hG7J6F67yqCt$5B)%epShJv}|Qg<6MV`RqtC zmJaO*Zx2V>I(BZ&Ws@CS6V}MBg^rt)HFR^N5Dz8_%dbX3xerL3W^P~KnK@Pvx zIcsX(So)mVLp*m}eJa})j=S=6MnpJ2Bp+@_NSrs4&zW_#ew41VVUDrVxw_O{i_*Eu z)H+i--a0{bSa&3!;8Fv`dl!<=%@mI<>s&c%eX{g9t46I)rE~RQjk$B~b5@(WCsBTP zRk}HgPgHi^yR36n%5rYvlSW6^e|*mF&>Gusa%V)@{PKQzFGSwCD5{bD5O~+5Xsyt% zpN~6*dcfV2f?Y^mkB4A9sO$c5*BpSZiS03dgQxzJ9=*nm7xDOs=YCgI>-3NNUeP-F zu`99A@ms3!0T2Fs75)S0di;@TI`MaU+UL+{UH9)EkDvV;_vl<|TG#j=c>Elnz3%*R zd{|$faU4(H2WVZ_f8A4m8~n^KQGgqr@#cA_Xrt_cL+b`kC&uSFs%WjmA!=R6|Ip)i z=5smT2H|1G^OeL?kA9sCW2MS>b!gc2dSd>hXuZ=u^LRySy-Xv|(fX5Ggh9_AbAIh- zdmnmqK96%Z-~iT2^?VYq_a9I0=MYNkJiY1H^9@N}hF|NPe=o5=ufng#lQ&qug|5$N z1HT%-hpxwm{w3)A{U90Guk5crUx0Ml-?_X#>m2_skNz?1WBhm$Zoqmtj!=3(g|J@M z>8W=7A|dE{K7yE!aFzedRr-C<2i^V=e@8|A&2qR3AAqj++Xh)D$*TH=D*WTnb$^5C z?^9L&pH%6ud-M>V>8wZRZ|ov;yZQs!z4!i%ajVXnv$?`)>txcTRGF7Fmbh;w(>wEGUiw+ zGZIUg2|JU^o3X;A#4{7wlx16qa7SeOt+!kmWsWA(Ni&wq#imRvZRe(BG#8t&%tT>g zVhU9}nhB&`0WIL#7#*}yqiytsGlx)P_fXeBpV@by7rj+o*K$SugqXcwKhQO>uLmfP z$GM9Zb5H-l?yi3G;O^ar`i9NnuI~OmhI6i~d=Oq+$gg(15<030%PTVGjOb=flx;@s<-=I}s|J1fpd18*(o3xU_L{GGsS zlyH7(!j6rgv~#K)*Al)zSh=i((;3?ecXjV;vtwhfhOHSMDJ1bhDVdNkwec9fN`w9ur--XOiI`q zSL;{7)zVdPE#DVMbVQC#B;#l`gJ>!WmXU<9gC?*k#EHodE6I_9js5n&6Z0(oMB!L< zzZa@+g*pO#q|bx#NyNda?|L|Ep=(la`XU`LXdLr`lL*kFK`1q@7xE?KRBV^|!fD{{ zfvhqFg(H^lo3&u#m`CuZt_Ydm3fVVenD5;M=21)>^FscvOheX0Ea_e_b2{RfcVtnC zxutHGcJlpT=75x$j~oXs1lijzRQV>DSqX8>Q(git09nUl|ENC1`u(iN5LAWa!Qdo$D{rbNB$mI*~AoWgkoqj`iLEGm9gR?|DHe)$ypG1@k$GxCLIWXsfIQ6~z z^0#i7oY;J>d9aS>EK)4WUIJWVo8-TNHIDC9y}+@)CSpi`2h+}W`To)moc6)w#9;Zp zD@Uk+h*MudmCm-v{{|ygR#`=+fosE Wn8%>wF=O_aC4~bApZJzZi~j|c+nYrI literal 0 HcmV?d00001 diff --git a/uart.c b/uart.c new file mode 100644 index 0000000..a322424 --- /dev/null +++ b/uart.c @@ -0,0 +1,76 @@ +#include +#include +#include +#include +#include +#include +#include + +int main() { + +int uart0_filestream = -1; +uart0_filestream = open("/dev/ttyAMA0", O_RDWR | O_NOCTTY | O_NDELAY); +if (uart0_filestream == -1) { + printf("[ERROR] UART open()\n"); +} + +struct termios options; +tcgetattr(uart0_filestream, &options); + options.c_cflag = B9600 | CS8 | CLOCAL | CREAD; + options.c_iflag = IGNPAR; + options.c_oflag = 0; + options.c_lflag = 0; +tcflush(uart0_filestream, TCIFLUSH); +tcsetattr(uart0_filestream, TCSANOW, &options); + + +// Bytes senden +unsigned char BUF_TX[20]; +unsigned char *TX; + +TX = &BUF_TX[0]; +*TX++ = 'R'; +/* +*TX++ = 'a'; +*TX++ = 's'; +*TX++ = 'p'; +*TX++ = 'b'; +*TX++ = 'e'; +*TX++ = 'r'; +*TX++ = 'r'; +*TX++ = 'y'; +*TX++ = ' '; +*TX++ = 'P'; +*TX++ = 'i'; +*/ +if (uart0_filestream != -1) { + int out = write(uart0_filestream, &BUF_TX[0], (TX - &BUF_TX[0])); // + if (out < 0) { + printf("[ERROR] UART TX\n"); + } else { + //printf("[STATUS: TX %i Bytes] %s\n", out, BUF_TX); + } +} // if uart0 + +sleep(1); + +// Bytes empfangen +if (uart0_filestream != -1) { + unsigned char BUF_RX[50]; + int rx_length = read(uart0_filestream, (void*)BUF_RX, 50); + + if (rx_length < 0) { + printf("[ERROR] UART RX\n"); + } else if (rx_length == 0) { + printf("[ERROR] UART RX - no data\n"); + } else { + BUF_RX[rx_length] = '\0'; + //printf("[STATUS: RX %i Bytes] %s\n", rx_length, BUF_RX); + printf("%s", BUF_RX); + } //rx_length check +} //if uart0 + +close(uart0_filestream); + +return 0; +}