RCray 0 March 21, 2008 Posted March 21, 2008 · Report post Использую последнюю версию ядра uClinux. Пытаюсь работать со SPORTом. Конфигурирую SPORT на на генерацию внутренних клоков-фрэймов, так и внешних. На передачу данные выдаются, когда клоки и фрэймы внутренние генерируются. Вижу на шине данных, всё ок. Пытаюсь читать с из порта - читаются всё время FFFF-ки. Когда клоки-фрэймы внутренне генерируются в BF537, устройство на том конце выдаёт данные по их обнаружению (см осциллограмму). Когда клоки от устройства на том конце он с ними и выдаёт данные. Прерывания отрабатываются как на приёме так и на передаче без ошибок переполнения, сбоев и т.д. А вот с данными на приём непонятно. Конфигурация порта: cfg->mode = NORM_MODE; cfg->data_format = NORM_FORMAT; cfg->fsync = 1; cfg->int_clk_rx = 1; // (or in other case =0) cfg->int_clk_tx = 1; cfg->word_len = 16; cfg->serial_clk = 2000000; // 2 MHz cfg->fsync_clk = 62500; // Код в моём приложении: int n; char msg[3]; while(1) { n = read(sport0, msg, 2); printf("readed %d words: %c%c 0x%x%x\n", n, msg[0], msg[1], msg[0], msg[1]); } Рузультат: readed 2 words: ЪЪ 0xFFFFFFFFFFFFFFFF Где поискать источник ошибки? Quote Share this post Link to post Share on other sites More sharing options...
RCray 0 March 21, 2008 Posted March 21, 2008 · Report post извините меня дурака. по схеме ножка RD на STAMP подтянута к питанию, а на осциллограме видно, что она остаётся в третьем состоянии. полез смотреть - провод не контачил. Quote Share this post Link to post Share on other sites More sharing options...