mirr
Участник-
Постов
31 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о mirr
-
Звание
Участник
-
Установка таймера для AT91SAM7S256
mirr ответил Dream10 тема в ARM, 32bit
можно вот так: // обработчик прерывания. вызывается через 1 сек void TC0_ISREntry( void ) { unsigned long STATUS = AT91C_BASE_TC0->TC_SR; //тут изменяешь состояние светодиода AT91C_BASE_AIC->AIC_IVR = 0; AT91C_BASE_AIC->AIC_ICCR = (1 << AT91C_ID_TC0); /* End the interrupt in the AIC. */ AT91C_BASE_AIC->AIC_EOICR = 0; } // ---------------- INITIALIZE TCO ---------------- AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_TC0); AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKDIS; AT91C_BASE_TC0->TC_IDR = 0xFFFFFFFF; AT91C_BASE_TC0->TC_CMR = AT91C_TC_CLKS_TIMER_DIV5_CLOCK | AT91C_TC_CPCTRG; AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKEN; AT91C_BASE_TC0->TC_RC = 46285; // MCK / 1024 = 47,4МГц / 1024 => 1 сек AT91C_BASE_TC0->TC_CCR = AT91C_TC_SWTRG; AT91C_BASE_TC0->TC_IER = AT91C_TC_CPCS; // ---------------- INITIALIZE AIC FOR TCO ---------------- AT91C_BASE_AIC->AIC_IDCR = (1 << AT91C_ID_TC0); AT91C_BASE_AIC->AIC_SVR[AT91C_ID_TC0] = (unsigned int) TC0_ISREntry; AT91C_BASE_AIC->AIC_SMR[AT91C_ID_TC0] = AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL | 0x3; AT91C_BASE_AIC->AIC_ICCR = (1 << AT91C_ID_TC0); AT91C_BASE_AIC->AIC_IECR = (1 << AT91C_ID_TC0); -
AT91SAM7X512 произвольно дергает лапами
mirr ответил mirr тема в ARM, 32bit
aaarrr и Сергей Борщ, спасибо что откликнулись!!! проблему решил, как говориться "работает так как написано". код программы сначала писался на другой плате пока разрабатывалась новая и там было безобидное моргание светодиодами, о которых я напрочь забыл :01: после того как переехал на новую плату. ну а закон подлости и склероз сработали на всю силу :( -
AT91SAM7X512 произвольно дергает лапами
mirr опубликовал тема в ARM, 32bit
Привет всем!!! вот снова хочу обратиться к коллективному уму форума... проблема такая: к AT91SAM7X512 прикручен LCD 20x2. после подачи питания увидел такую картину: подсветка LCD начинает моргать, где-то раза 3 в сек. т.е. она постоянно вкл-выкл. подсветка управляется через транзистор, который управляется лапой МК. сначала подумал что что-то с транзистором, но потом выяснилось, что на 3х лапах МК (19-21) скачет напряжение от 0,7В до 3В. эти лапы настроены как PIO на выход, но управлять ими не получается, а точнее они не реагируют. с остальными лапами все нормально. вот код инициализации: #define DEF_BIT_19 0x00080000 #define DEF_BIT_20 0x00100000 #define DEF_BIT_21 0x00200000 #define DEF_BIT_22 0x00400000 #define DEF_BIT_23 0x00800000 #define DEF_BIT_24 0x01000000 #define DEF_BIT_25 0x02000000 #define DEF_BIT_26 0x04000000 #define RS DEF_BIT_26 #define RW DEF_BIT_25 #define E DEF_BIT_24 #define DB4 DEF_BIT_23 #define DB5 DEF_BIT_22 #define DB6 DEF_BIT_21 #define DB7 DEF_BIT_20 #define BL DEF_BIT_19 AT91C_BASE_PIOB->PIO_PER = RS | RW | E | DB4 | DB5 | DB6 | DB7 | BL; // Enable the PIO lines AT91C_BASE_PIOB->PIO_OER = RS | RW | E | DB4 | DB5 | DB6 | DB7 | BL; // Set PIO as output AT91C_BASE_PIOB->PIO_PPUER = RS | RW | E | DB4 | DB5 | DB6 | DB7 | BL; AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_PIOB); // Enable the PIOB peripheral clock причем если настроить эти 3 лапы на вход, то с подтяжкой на них 3,46В, а без - 0,92В. и если эти лапы направить на периферию, то тоже все нормально (т.е. напряжение не скачет). не могу понять что за беда. поделитесь мыслями как решить эту проблему. буду очень благодарен!!! -
J0011D21BNL vs H1102
mirr ответил mirr тема в Интерфейсы
Спасибо, всем откликнувшимся, за помощь!!!! Буду определяться... -
J0011D21BNL vs H1102
mirr ответил mirr тема в Интерфейсы
вариант с Micrel рассмотрю, спасибо!!! вот вчера в доке "RTL8201BL PCB Layout Guide" (V1.00 2002-04-11) нашел вот такую фразу: Magnetic: Any Magnetic with Tx/Rx turn ration of 1:1/1:1 are suitable for RTL8201BL, such as Pulse PE68515/1012, Valor ST6118, YCL 20PMT04, DELTA LF8221, BH16ST8515, TAIMIC HSIP-002. тогда получается, что, теоретически, может подойти любой с соотношением 1:1/1:1 для Tx/Rx??? мне вот еще не понятно есть ли качественная разница между интегрированными и обычными трансформаторами? -
J0011D21BNL vs H1102
mirr ответил mirr тема в Интерфейсы
а где такие рекомендации можно почитать, а то ни гугление, ни поиск по сайту Realtek не помог... :( в даташите есть требования к трансформатору, но я думал может есть что-то типо списка по прозводителям и моделям... -
J0011D21BNL vs H1102
mirr опубликовал тема в Интерфейсы
здравствуйте!!! у меня возникла задача передавать данные от устройства к ПК по ethernet. использую контроллер AT91SAM7X. в качестве PHY решил использовать RTL8201CP. а вот при выборе магнетки столкнулся с тем что есть как отдельные (например, H1102) так и интегрированные в RJ-45 (например, J0011D21BNL). подскажите, есть ли между ними какая-то разница, кроме корпуса и какой лучше выбрать? -
Считыватель отпечатка пальца
mirr опубликовал тема в В помощь начинающему
привет всем!!! необходимо встроить в девайс считывание отпечатка пальца для дальнейшей отправки на сервер. в инете встретил вот это AT77C101B и AT77SM0101BCB02VKE. может кто с ними сталкивался? насколько сложный зверь? или что-то другое можно применить? заранее всем благодарен за помощь!!! -
AT91SAM7S256, влияние JETlink
mirr ответил mirr тема в ARM, 32bit
проблему решил. дело было в кабеле через который соединялись плата и комп, а именно плохо пропаянная земля, из-за чего уровень сигнала сдвинулся на 5В... -
AT91SAM7S256, влияние JETlink
mirr опубликовал тема в ARM, 32bit
Привет всем!!! не могу понять странность: написал простенький проектик, в цикле моргает светодиод и отправляются данные по uart через ST232 на комп. если к МК подключен дэбаггер то все нормально работает. стоит отключить, так светодиод моргает, а данных по нет... код работы с uart рабочий, на другой плате все ок, только там МК общается по uart с SIM300... может у кого какие идеи есть, то подскажите, буду очень благодарен!!!!!! void BSP_USART_Init( void ) { CPU_INT32U pclk_freq; CPU_INT32U baud_rate = 9600;//115200; pclk_freq = BSP_CPU_ClkFreq(); /* Get the UART input clock frequency */ AT91C_BASE_PIOA->PIO_PDR = BSP_GPIOA_UART0; AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_US0); /* Enable the US0 peripheral clock */ /* ---------------------- SETUP US0 ----------------------- */ AT91C_BASE_US0->US_MR = AT91C_US_USMODE_NORMAL /* RS232C mode selected */ | AT91C_US_CLKS_CLOCK /* USART input CLK is MCK */ | AT91C_US_CHRL_8_BITS /* 8 bit data to be sent */ | AT91C_US_PAR_NONE /* No parity bit selected */ | AT91C_US_NBSTOP_1_BIT; /* 1 stop bit selected */ //| (0x2 << 14); /* !!!!!!!!!! LOOPBACK !!!!!!!!! */ /* Set the USART baud rate */ AT91C_BASE_US0->US_BRGR = (CPU_INT16U)(pclk_freq / baud_rate / 16)+1; /* ---------------- INITIALIZE AIC FOR US0 ---------------- */ /*pUS0->US_TPR = (AT91_REG)pUSBufferTX; pUS0->US_TCR = USBUFSIZE; pUS0->US_TNPR = (AT91_REG)0; pUS0->US_TNCR = 0;*/ AT91C_BASE_US0->US_RPR = (AT91_REG)pUSBufferRX; AT91C_BASE_US0->US_RCR = USBUFSIZE; AT91C_BASE_US0->US_RNPR = (AT91_REG)0; AT91C_BASE_US0->US_RNCR = 0; AT91C_BASE_US0->US_PTCR = AT91C_PDC_RXTEN; AT91C_BASE_AIC->AIC_IDCR = (1<<AT91C_ID_US0); AT91C_BASE_AIC->AIC_SVR[AT91C_ID_US0] = (unsigned int)UsartHandler; AT91C_BASE_AIC->AIC_SMR[AT91C_ID_US0] = (AT91C_AIC_SRCTYPE_INT_POSITIVE_EDGE|0x4); AT91C_BASE_AIC->AIC_IECR = (1<<AT91C_ID_US0); AT91C_BASE_US0->US_RTOR = 0x00FF; AT91C_BASE_US0->US_IER = AT91C_US_TIMEOUT;// | AT91C_US_RXRDY;// | AT91C_US_ENDRX; AT91C_BASE_US0->US_IDR = ~(AT91C_US_TIMEOUT);// | AT91C_US_RXRDY);// | AT91C_US_ENDRX); AT91C_BASE_US0->US_CR = AT91C_US_RXEN | AT91C_US_TXEN; } void BSP_Ser_WrByte (CPU_INT08U tx_byte) { while ((AT91C_BASE_US0->US_CSR & AT91C_US_TXRDY) == 0){ /* Wait for room in the transmit register. */ ; } AT91C_BASE_US0->US_THR = tx_byte; } void BSP_Ser_WrStr (CPU_CHAR *tx_str) { while ((*tx_str) != 0) { BSP_Ser_WrByte(*tx_str++); } } static void AppTaskRf (void *p_arg) { . . . LED_On(); while (DEF_TRUE) { while(ind) { str[4 - ind] = ReadData(); ind--; } Reset_Fifo(); ind = 4; BSP_Ser_WrStr(str); if (Crc8(str, 3) == str[3]) { LED_Toggle(); } memset(str,0,5); } } shema.sch -
CAN на at91sam7x
mirr опубликовал тема в ARM, 32bit
Всем привет! очень нужно мнение знающих людей о том насколько быстро можно разобраться с CAN на at91sam7x, насколько это сложно? есть ли в инете толковые исходники, литература? насколько я понял кроме контроллера нужен еще CAN трансивер типо PCA82C250... -
Временная работа
mirr ответил vik362 тема в Предлагаю работу
Здравствуйте, предложение отправил в личку. -
Реакция на свет :)
mirr ответил mirr тема в Схемотехника
неа, не так... МОИ эксперименты с транзисторами к желаемому результату не привели... хочу попробовать поэкспериментировать с ОУ как Вы рекомендовали.... -
Реакция на свет :)
mirr ответил mirr тема в Схемотехника
ок, так а что мне тогда необходимо сделать чтоб этот фотодиод хорошо реагировал на видимое излучение??? какой светофильтр поставить??? -
Реакция на свет :)
mirr ответил mirr тема в Схемотехника
к сожалению результаты прежние... с транзисторами необходимого результата достич не удается... как я понял этот фотодиод чувствителен к инфракрасному излучению...