Jump to content

    

grishkin

Участник
  • Content Count

    42
  • Joined

  • Last visited

Community Reputation

0 Обычный

About grishkin

  • Rank
    Участник
  1. Здравствуйте, Скажите пожалуйста как обстоят дела с поддержкой USB во FreeRTOS. Конкретно нужно сделать следующее: - USB to RS232 - USB Host for USB flash drive read/write - USB Device -> connect to PC - USB OTG
  2. Спасибо за NCPHA. Всё заработало. Уменя были недобрые подозрения в разном названии пинов и режимов в документации на фрамену и на камень. А как только увидел ваш пост сразу мелькнуло - "облажался". Куда высылать пиво? =))
  3. Этот случай возникает только, когда SCBR = 1, CPOL = 1 and NCPHA = 0. Возникает в режиме PDC. Нитого нитого я не использую.
  4. Почитал. Ничего подходящего под мой случай.
  5. Еррату не читал. Читал тока дока на неё. Там написано что держит 2 режима. 0. CPOL = 0 и CPHA = 0 3. CPOL = 1 и CPHA = 1 Пробовал оба режима, результат одинаковый.
  6. Пожалуйста вот чего не хватает. t_error spi_init( void ) { AT91F_PIO_CfgPeriph( AT91C_BASE_PIOA, ((unsigned int) AT91C_PA17_SPI0_MOSI) | ((unsigned int) AT91C_PA16_SPI0_MISO) | ((unsigned int) AT91C_PA18_SPI0_SPCK) | ((unsigned int) AT91C_PA15_SPI0_NPCS3), 0); AT91F_PIO_CfgPeriph( AT91C_BASE_PIOB, 0, 0 ); AT91F_SPI0_CfgPMC(); AT91F_SPI_Reset( AT91C_BASE_SPI0 ); AT91F_SPI_CfgMode( AT91C_BASE_SPI0, AT91C_SPI_MSTR | AT91C_SPI_PS_FIXED ); AT91F_SPI_CfgPCS( AT91C_BASE_SPI0, 0x07 ); AT91F_SPI_CfgCs( AT91C_BASE_SPI0, 3, AT91C_SPI_BITS_8 | AT91C_SPI_CSAAT | ( 48 << 8 ) | // Serial Clock Baud Rate ( 10 << 16 ) | // Delay Before SPCK ( 1 << 24 ) // Delay Between Consecutive Transfers ); AT91F_SPI_Enable( AT91C_BASE_SPI0 ); return SPI_ERR_SUCCESS; } u08 spi_read( void ) { while ( !( AT91C_BASE_SPI0->SPI_SR & AT91C_SPI_TXEMPTY ) ); return ( u08 )AT91F_SPI_GetChar( AT91C_BASE_SPI0 ); }
  7. Хочу просто прочесть статус регистр. t_error spi_write( u08 byte ) { while ( !( AT91C_BASE_SPI0->SPI_SR & AT91C_SPI_TXEMPTY ) ); AT91F_SPI_PutChar( AT91C_BASE_SPI0, ( unsigned int )byte, 3 ); return SPI_ERR_SUCCESS; } ... spi_write( 0x05 ); spi_write( 0xAA ); AT91C_BASE_SPI0->SPI_CR |= AT91C_SPI_LASTXFER; b = spi_read(); ... А вот ваш ответ меня совсем не радует. Очень не хочеться делать велосипед.
  8. С ног контроллера всё вылетает, а вот назад не возвращается. Причём осцилом смотрю на ногах фрамины.
  9. Есть камень at91sam7x256 и фрамина FM25L256. Настроил SPI, смотрю асцилом клоки есть, чипселект отрабатывает как надо, MOSI есть, я вно вижу байты которые посылаю. Фрамина молчит, в чём может быть проблема?
  10. Кому интересно. Делается это посредством установки чётности в SPACE/MARK. В результате получаем 9-бит данных. Это возможно только через raw serial driver, posix стандарт это не поддерживает.
  11. Поспешил я с выводом что время тика ракно 10мс. Оно конечно настраиваемо только вот я не пойму как мне добиться нужного значения. Принесли мне осцил, да и на глаз видно, что это не 10мс, как написано в документации про настройки по умолчанию, а медленнее раза в 2. Какой всё же должен быть RTC период, чтобы время тика ОСи было 10мс, а частота проца 48МГц.
  12. Настроил USART1 на 9 битную работу. Отправлять отправляет а принять в этом режиме не могу, хотя на асциле вижу ответ. Как нужно его настроить?
  13. На мой взгляд самое подходящее для разработчиков это gentoo.