Ср апр 16, 2014 17:50:15
Ср апр 16, 2014 17:57:28
Ср апр 16, 2014 18:32:48
Frogfot писал(а):2 vasich61:
Так какие результаты курения камня?
vasich61 писал(а):SERCOM запустил только в режиме UART
Ср апр 16, 2014 18:54:03
vasich61 писал(а):На тот момент мне нужно было просто ускорить его, т.к. не хватало скорости для обработки внешних прерываний. Курение даташита меня так и не спасло, поэтому ограничился новыми библиотеками. Использовал таймеры, внешние прерывания, GPIO. Сейчас появилась необходимость прицепить еще и UART на SERCOM. И вот тут-то и начались свистопляска опять, ибо с частотой от DFLL что-то не то и в UART при тактировании от DFLL начинает сыпаться какой-то мусор. По ходу, назревает второй подход к снаряду...
vasich61 писал(а):а не пробовали настроить stdio так, чтобы можно было в UART посылать со стандартными printf'ами?
Ср апр 16, 2014 19:37:45
Вт июн 17, 2014 19:57:54
Пн июн 23, 2014 08:44:21
void TC2_initialize(void) {
GCLK->CLKCTRL.reg = (GCLK_CLKCTRL_ID(TC2_GCLK_ID) | GCLK_CLKCTRL_GEN(0) | GCLK_CLKCTRL_CLKEN);
//PM->APBCMASK.bit.TC2 = 1;
PM->APBCMASK.reg |= PM_APBCMASK_TC2;
PORT->Group[0].PINCFG[0].bit.PMUXEN = 1;
PORT->Group[0].PINCFG[1].bit.PMUXEN = 1;
PORT->Group[0].PMUX[0].bit.PMUXE = 0x05; //Peripheral function F selected TC2/WO[0]
PORT->Group[0].PMUX[0].bit.PMUXO = 0x05; //Peripheral function F selected TC2/WO[2]
//NVMCTRL-> CLK_PM_APB
TC2->COUNT32.CTRLA.bit.MODE = 0x2;
TC2->COUNT32.COUNT.reg = 0x12345678;
TC2->COUNT32.CTRLA.bit.ENABLE = 1;
//PM->APBASEL.bit.APBADIV
//REG_PORT_DIRSET0 = 0;
}
Вт июл 01, 2014 08:54:56
layabdu писал(а):Поигрался с таймерами и после того, как закоментировал строку вот так:
//GCLK->CLKCTRL.reg = (GCLK_CLKCTRL_ID(TC2_GCLK_ID) | GCLK_CLKCTRL_GEN(0) | GCLK_CLKCTRL_CLKEN);
Пт июл 04, 2014 10:48:24
Пт июл 04, 2014 19:15:51
Пт июл 04, 2014 20:32:26
Пт июл 04, 2014 20:39:53
Перекосило скорее всего не с клоками, а программно отрублен JTAG. Лечится элементарно: камешек певодится в бут режим включается стирается отладчиком из ST-Link Utility.
Вс июл 06, 2014 21:12:24
ресет то был подключен изначально.. Скорее всего действительно JTAG отвалился, только в нашем случае это SWDdosikus писал(а):надо всего то подключить RESET .
Пн июл 07, 2014 13:33:04
Пн июл 07, 2014 14:01:48
GCLK->CLKCTRL.reg = (GCLK_CLKCTRL_ID(ADC_GCLK_ID) | GCLK_CLKCTRL_GEN(0) | GCLK_CLKCTRL_CLKEN); //подключаю клок к ADC
PORT->Group[0].PINCFG[2].bit.PMUXEN = 1; // подключаю PORTA.2 к мультиплексору
PORT->Group[0].PMUX[1].bit.PMUXE = 0x01; // Peripheral function B selected (тут не понимаю, в группе B еще имеются Y[0] VOUT)
ADC->CTRLB.bit.PRESCALER = 0x01; //DIV8 Peripheral clock divided by 8
ADC->INPUTCTRL.bit.MUXPOS = 0; //положительный вход на вход АЦП.0
ADC->INPUTCTRL.bit.MUXNEG = 0x18; //отрицательный на GND
ADC->CTRLA.bit.ENABLE = 1; //включаю АЦП
ADC->SWTRIG.bit.START = 1; //запускаю на измерение
...
читаю ADC->RESULT.reg; // а там постоянно разные значения: то 0xFF, то 0, то другие хаотичные значения
Пн июл 07, 2014 21:21:26
layabdu писал(а):Ребята, вопрос по АЦП по порядку что я делаю и что не так:вот что делаю не так?
- Код:
GCLK->CLKCTRL.reg = (GCLK_CLKCTRL_ID(ADC_GCLK_ID) | GCLK_CLKCTRL_GEN(0) | GCLK_CLKCTRL_CLKEN); //подключаю клок к ADC
Вт июл 08, 2014 09:58:33
Вт июл 08, 2014 23:44:21
layabdu писал(а):Ребята, вопрос по АЦП по порядку что я делаю и что не так
Ср июл 09, 2014 09:45:29
Frogfot писал(а):Ещё вроде нужно смотреть в STATUS флаг:
Bit 7 – SYNCBUSY: Synchronization Busy
Чт июл 10, 2014 17:17:27