20190816

Dependencies:   mbed

Committer:
VASKO
Date:
Fri Aug 02 20:20:18 2019 +0000
Revision:
2:56a194afd255
Parent:
1:e5810b8734ec
Child:
3:7cdb20aac969
array[16] receive, then copy to another, then send back, all by intrs.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
VASKO 0:5152e3f9df72 1 #include "mbed.h"
VASKO 0:5152e3f9df72 2
VASKO 0:5152e3f9df72 3 #define ArrTxSize 16
VASKO 0:5152e3f9df72 4 #define ArrRxSize 16
VASKO 0:5152e3f9df72 5
VASKO 2:56a194afd255 6 Serial pc(USBTX,USBRX);
VASKO 0:5152e3f9df72 7
VASKO 0:5152e3f9df72 8 DigitalOut myled(LED1);
VASKO 0:5152e3f9df72 9
VASKO 0:5152e3f9df72 10 int nCharTx = 0;
VASKO 2:56a194afd255 11 int nCharRx = 0;
VASKO 0:5152e3f9df72 12
VASKO 2:56a194afd255 13 uint8_t ArrTx[ArrTxSize] = {0x20,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4b,0x4c,0x4d,0x4e,0x4f};
VASKO 2:56a194afd255 14 uint8_t ArrRx[ArrRxSize] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
VASKO 0:5152e3f9df72 15
VASKO 0:5152e3f9df72 16 void IntrTx() {
VASKO 0:5152e3f9df72 17 nCharTx++;
VASKO 0:5152e3f9df72 18 if (nCharTx < ArrTxSize ){
VASKO 0:5152e3f9df72 19 pc.putc(ArrTx[nCharTx]);
VASKO 0:5152e3f9df72 20 }
VASKO 0:5152e3f9df72 21 else{
VASKO 2:56a194afd255 22 pc.attach(NULL, Serial::TxIrq);
VASKO 2:56a194afd255 23 myled=0;
VASKO 0:5152e3f9df72 24 }
VASKO 0:5152e3f9df72 25 }
VASKO 0:5152e3f9df72 26
VASKO 2:56a194afd255 27 void IntrRx() {
VASKO 2:56a194afd255 28 ArrRx[nCharRx++] = pc.getc();
VASKO 2:56a194afd255 29 if (nCharRx >= ArrRxSize ) {
VASKO 2:56a194afd255 30 for(int i = 0; i < ArrTxSize; i++){
VASKO 2:56a194afd255 31 ArrTx[i] = ArrRx[i];
VASKO 2:56a194afd255 32 }
VASKO 2:56a194afd255 33 nCharTx = 0;
VASKO 2:56a194afd255 34 pc.putc(ArrTx[nCharTx]);
VASKO 2:56a194afd255 35 pc.attach(&IntrTx, Serial::TxIrq);
VASKO 2:56a194afd255 36 nCharRx = 0;
VASKO 2:56a194afd255 37 myled=1;
VASKO 2:56a194afd255 38 }
VASKO 0:5152e3f9df72 39 }
VASKO 0:5152e3f9df72 40
VASKO 0:5152e3f9df72 41 int main() {
VASKO 0:5152e3f9df72 42 pc.attach(&IntrRx, Serial::RxIrq);
VASKO 0:5152e3f9df72 43 pc.attach(NULL, Serial::TxIrq);//я УПЁРТЫЙ дебил
VASKO 0:5152e3f9df72 44
VASKO 2:56a194afd255 45 //Exige Monumentum
VASKO 2:56a194afd255 46 //Я дебил,потому что хотел выполнить действия,которые
VASKO 2:56a194afd255 47 //требуются постоянно,один раз и именно здесь.
VASKO 0:5152e3f9df72 48
VASKO 0:5152e3f9df72 49 while(1) {
VASKO 0:5152e3f9df72 50 }
VASKO 0:5152e3f9df72 51 }