Hikaru Nagazumi
/
CAN_Test_SEND
2/4
main.cpp@0:f61429c7c6c0, 2020-03-04 (annotated)
- Committer:
- maxnagazumi
- Date:
- Wed Mar 04 09:34:52 2020 +0000
- Revision:
- 0:f61429c7c6c0
2/4
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
maxnagazumi | 0:f61429c7c6c0 | 1 | #include "mbed.h" |
maxnagazumi | 0:f61429c7c6c0 | 2 | |
maxnagazumi | 0:f61429c7c6c0 | 3 | CAN can1(p30,p29); |
maxnagazumi | 0:f61429c7c6c0 | 4 | |
maxnagazumi | 0:f61429c7c6c0 | 5 | DigitalOut led(LED1); |
maxnagazumi | 0:f61429c7c6c0 | 6 | DigitalOut led2(LED2); |
maxnagazumi | 0:f61429c7c6c0 | 7 | |
maxnagazumi | 0:f61429c7c6c0 | 8 | Ticker ticker; |
maxnagazumi | 0:f61429c7c6c0 | 9 | |
maxnagazumi | 0:f61429c7c6c0 | 10 | char can_data1[2]= {0,0}; |
maxnagazumi | 0:f61429c7c6c0 | 11 | int data1; |
maxnagazumi | 0:f61429c7c6c0 | 12 | float y; |
maxnagazumi | 0:f61429c7c6c0 | 13 | void can_send() |
maxnagazumi | 0:f61429c7c6c0 | 14 | { |
maxnagazumi | 0:f61429c7c6c0 | 15 | data1=500; |
maxnagazumi | 0:f61429c7c6c0 | 16 | can_data1[0]=data1>>8; |
maxnagazumi | 0:f61429c7c6c0 | 17 | can_data1[1]=data1&255; |
maxnagazumi | 0:f61429c7c6c0 | 18 | if(can1.write(CANMessage(1,can_data1,2))) { |
maxnagazumi | 0:f61429c7c6c0 | 19 | led =1; |
maxnagazumi | 0:f61429c7c6c0 | 20 | led2=0; |
maxnagazumi | 0:f61429c7c6c0 | 21 | printf("send\r\n"); |
maxnagazumi | 0:f61429c7c6c0 | 22 | } else { |
maxnagazumi | 0:f61429c7c6c0 | 23 | led=0; |
maxnagazumi | 0:f61429c7c6c0 | 24 | led2=1; |
maxnagazumi | 0:f61429c7c6c0 | 25 | printf("no send\r\n"); |
maxnagazumi | 0:f61429c7c6c0 | 26 | } |
maxnagazumi | 0:f61429c7c6c0 | 27 | |
maxnagazumi | 0:f61429c7c6c0 | 28 | CANMessage msg1; |
maxnagazumi | 0:f61429c7c6c0 | 29 | if(can1.read(msg1)) { |
maxnagazumi | 0:f61429c7c6c0 | 30 | if(msg1.id == 2) { |
maxnagazumi | 0:f61429c7c6c0 | 31 | y=(short)((msg1.data[0]<<8)|msg1.data[1]); |
maxnagazumi | 0:f61429c7c6c0 | 32 | if(y==1000) { |
maxnagazumi | 0:f61429c7c6c0 | 33 | led=1; |
maxnagazumi | 0:f61429c7c6c0 | 34 | led2=1; |
maxnagazumi | 0:f61429c7c6c0 | 35 | } else { |
maxnagazumi | 0:f61429c7c6c0 | 36 | led=0; |
maxnagazumi | 0:f61429c7c6c0 | 37 | led2=0; |
maxnagazumi | 0:f61429c7c6c0 | 38 | } |
maxnagazumi | 0:f61429c7c6c0 | 39 | } |
maxnagazumi | 0:f61429c7c6c0 | 40 | } |
maxnagazumi | 0:f61429c7c6c0 | 41 | } |
maxnagazumi | 0:f61429c7c6c0 | 42 | int main() |
maxnagazumi | 0:f61429c7c6c0 | 43 | { |
maxnagazumi | 0:f61429c7c6c0 | 44 | can1.frequency(1000000); |
maxnagazumi | 0:f61429c7c6c0 | 45 | ticker.attach(&can_send,0.01); |
maxnagazumi | 0:f61429c7c6c0 | 46 | } |