Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@1:ad2925b38616, 2020-10-08 (annotated)
- Committer:
- NishiKazu
- Date:
- Thu Oct 08 09:01:15 2020 +0000
- Revision:
- 1:ad2925b38616
- Parent:
- 0:ba7e86f744b9
add coment
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| NishiKazu | 0:ba7e86f744b9 | 1 | #include "mbed.h" |
| NishiKazu | 0:ba7e86f744b9 | 2 | #define bitRead(value, bit) (((value) >> (bit)) & 0x01) |
| NishiKazu | 0:ba7e86f744b9 | 3 | #define bitSet(value, bit) ((value) |= (1UL << (bit))) |
| NishiKazu | 0:ba7e86f744b9 | 4 | #define bitClear(value, bit) ((value) &= ~(1UL << (bit))) |
| NishiKazu | 0:ba7e86f744b9 | 5 | #define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit)) |
| NishiKazu | 0:ba7e86f744b9 | 6 | #define left (bitRead (DT[2],3)) |
| NishiKazu | 0:ba7e86f744b9 | 7 | #define right (bitRead (DT[2],2)) |
| NishiKazu | 0:ba7e86f744b9 | 8 | #define up (bitRead (DT[2],0)) |
| NishiKazu | 0:ba7e86f744b9 | 9 | #define down (bitRead (DT[2],1)) |
| NishiKazu | 0:ba7e86f744b9 | 10 | #define sqare (bitRead (DT[1],0)) |
| NishiKazu | 0:ba7e86f744b9 | 11 | #define circle (bitRead (DT[2],6)) |
| NishiKazu | 0:ba7e86f744b9 | 12 | #define participation (bitRead (DT[2],4)) |
| NishiKazu | 0:ba7e86f744b9 | 13 | #define xmark (bitRead (DT[2],5)) |
| NishiKazu | 0:ba7e86f744b9 | 14 | #define l1 (bitRead (DT[1],1)) |
| NishiKazu | 0:ba7e86f744b9 | 15 | #define l2 (bitRead (DT[1],2)) |
| NishiKazu | 0:ba7e86f744b9 | 16 | #define r1 (bitRead (DT[1],3)) |
| NishiKazu | 0:ba7e86f744b9 | 17 | #define r2 (bitRead (DT[1],4)) |
| NishiKazu | 0:ba7e86f744b9 | 18 | Serial pc(USBTX,USBRX,115200); //tx, rx |
| NishiKazu | 0:ba7e86f744b9 | 19 | Serial SBDBT(D1,D0,115200); //tx, rx |
| NishiKazu | 0:ba7e86f744b9 | 20 | int DT[8]; |
| NishiKazu | 0:ba7e86f744b9 | 21 | int DT_joy[8]; |
| NishiKazu | 0:ba7e86f744b9 | 22 | long map(long x, long in_min, long in_max, long out_min, long out_max) { |
| NishiKazu | 0:ba7e86f744b9 | 23 | return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; |
| NishiKazu | 0:ba7e86f744b9 | 24 | } |
| NishiKazu | 0:ba7e86f744b9 | 25 | void SBDBT_rx(){ |
| NishiKazu | 0:ba7e86f744b9 | 26 | for(int i = 0; i < 8;i++){ |
| NishiKazu | 0:ba7e86f744b9 | 27 | DT[i] = SBDBT.getc(); |
| NishiKazu | 0:ba7e86f744b9 | 28 | } |
| NishiKazu | 0:ba7e86f744b9 | 29 | for(int i=3;i<7;i++){ |
| NishiKazu | 0:ba7e86f744b9 | 30 | DT[i] = map(DT[i],0,255,-128,128); |
| NishiKazu | 0:ba7e86f744b9 | 31 | } |
| NishiKazu | 0:ba7e86f744b9 | 32 | } |
| NishiKazu | 0:ba7e86f744b9 | 33 | void pc_tx(){ |
| NishiKazu | 0:ba7e86f744b9 | 34 | for(int i = 3; i <7;i++){ |
| NishiKazu | 0:ba7e86f744b9 | 35 | pc.printf(" %3d",DT[i]*-1); |
| NishiKazu | 0:ba7e86f744b9 | 36 | } |
| NishiKazu | 0:ba7e86f744b9 | 37 | if(left){ |
| NishiKazu | 0:ba7e86f744b9 | 38 | pc.printf(" left"); |
| NishiKazu | 0:ba7e86f744b9 | 39 | } |
| NishiKazu | 0:ba7e86f744b9 | 40 | if(right){ |
| NishiKazu | 0:ba7e86f744b9 | 41 | pc.printf(" right"); |
| NishiKazu | 0:ba7e86f744b9 | 42 | } |
| NishiKazu | 0:ba7e86f744b9 | 43 | if(up){ |
| NishiKazu | 0:ba7e86f744b9 | 44 | pc.printf(" up"); |
| NishiKazu | 0:ba7e86f744b9 | 45 | } |
| NishiKazu | 0:ba7e86f744b9 | 46 | if(down){ |
| NishiKazu | 0:ba7e86f744b9 | 47 | pc.printf(" down"); |
| NishiKazu | 0:ba7e86f744b9 | 48 | } |
| NishiKazu | 0:ba7e86f744b9 | 49 | if(sqare){ |
| NishiKazu | 0:ba7e86f744b9 | 50 | pc.printf(" sqare"); |
| NishiKazu | 0:ba7e86f744b9 | 51 | } |
| NishiKazu | 0:ba7e86f744b9 | 52 | if(circle){ |
| NishiKazu | 0:ba7e86f744b9 | 53 | pc.printf(" circle"); |
| NishiKazu | 0:ba7e86f744b9 | 54 | } |
| NishiKazu | 0:ba7e86f744b9 | 55 | if(participation){ |
| NishiKazu | 0:ba7e86f744b9 | 56 | pc.printf(" participation"); |
| NishiKazu | 0:ba7e86f744b9 | 57 | } |
| NishiKazu | 0:ba7e86f744b9 | 58 | if(xmark){ |
| NishiKazu | 0:ba7e86f744b9 | 59 | pc.printf(" xmark"); |
| NishiKazu | 0:ba7e86f744b9 | 60 | } |
| NishiKazu | 0:ba7e86f744b9 | 61 | if(l1){ |
| NishiKazu | 0:ba7e86f744b9 | 62 | pc.printf(" L1"); |
| NishiKazu | 0:ba7e86f744b9 | 63 | } |
| NishiKazu | 0:ba7e86f744b9 | 64 | if(l2){ |
| NishiKazu | 0:ba7e86f744b9 | 65 | pc.printf(" L2"); |
| NishiKazu | 0:ba7e86f744b9 | 66 | } |
| NishiKazu | 0:ba7e86f744b9 | 67 | if(r1){ |
| NishiKazu | 0:ba7e86f744b9 | 68 | pc.printf(" R1"); |
| NishiKazu | 0:ba7e86f744b9 | 69 | } |
| NishiKazu | 0:ba7e86f744b9 | 70 | if(r2){ |
| NishiKazu | 0:ba7e86f744b9 | 71 | pc.printf(" R2"); |
| NishiKazu | 0:ba7e86f744b9 | 72 | } |
| NishiKazu | 0:ba7e86f744b9 | 73 | pc.printf("\n"); |
| NishiKazu | 0:ba7e86f744b9 | 74 | } |
| NishiKazu | 0:ba7e86f744b9 | 75 | int main (){ |
| NishiKazu | 1:ad2925b38616 | 76 | SBDBT.attach(SBDBT_rx,Serial::RxIrq); //割り込み |
| NishiKazu | 0:ba7e86f744b9 | 77 | while(1){ |
| NishiKazu | 0:ba7e86f744b9 | 78 | pc_tx(); |
| NishiKazu | 0:ba7e86f744b9 | 79 | } |
| NishiKazu | 0:ba7e86f744b9 | 80 | } |