ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 июля
634296 Топик полностью
Ljutik1 (26.11.2015 20:22, просмотров: 167) ответил goddev на Ну это если ждете в программе установки флага окончания передачи или освобождения передающего MailBox.
Вот как у меня организована передача. повторюсь, при работающем соединении все замечательно. CANEN2=0b00001111; CANGIE &= ~(1<<ENRX); //Запретить прерывание по приему CANPAGE = (n<<4); //Выбрать n-й канал, автоинкремент, местоположение байта данных в FIFO CANCDMOB = 0x58; //???? - не понимаю, зачем это нужно. атавизм какой-то CANSTMOB = (1<<TXOK); //???? - не понимаю, зачем это нужно. атавизм какой-то if (CANSTMOB & (1<<TXOK)) //Если бит TXOK регистра CANSTMOB установлен в 1 { CANSTMOB &= 0; for(i = 0; i < 8; i++) { CANMSG = datatx_buf[i]; //Запись данных в регистр данных CAN } CANCDMOB = 0x58; //Разрешение передачи,длина данных 8 байт } CANCDMOB = CANCDMOB_RX_SET; // запрещение передачи, разрешение приема i = CANEN2; CANEN2=0b00001111; CANGIE |=(1<<ENRX); //Разрешить прерывание по приему