Здравствуйте. Моя отладочная плата соединена с Ethernet контроллером 5600ВГ1У. С помощью последовательного порта происходит передача данных контроллеру 5600ВГ1У, которые затем передаются в сеть. А также считывание данных, которые приходят из сети контроллеру 5600ВГ1У. Все работало правильно. Но сегодня наблюдалась такая картина: данные отправляются в сеть правильно, но при приёме пакета происходит следующее: чтобы считать данные из буфера приёмника, нужно знать стартовый адрес - откуда считывать данные и длину данных. Чтобы определить эти 2 параметра, нужно отправить несколько байт - команду чтения - контроллеру 5600ВГ1У. Я отправляю, только он возвращает 0х00. Поэтому данные не считываются.
if((SPI1->SSPx_SR & 2) == 2) //if FIFO Tx not full { SPI1->SSPx_DR = SendArray[CounterS]; CounterS++; } if((SPI1->SSPx_SR & 4) == 4) //if FIFO Rx not empty { SendArray[CounterR - 4] = Get_Char(); CounterR++; }
Как мне отследить - передались ли байты команды чтения контроллеру 5600ВГ1У. И почему он возвращает 0?
|