Форум РадиоКот https://radiokot.ru/forum/ |
|
9s08sg32 https://radiokot.ru/forum/viewtopic.php?f=62&t=149990 |
Страница 1 из 1 |
Автор: | spaun2222 [ Чт ноя 16, 2017 16:07:00 ] |
Заголовок сообщения: | 9s08sg32 |
Всем привет!не ругайте меня сильно!Уже всю голову поломал!Не могу разобраться в SOPT2 А именно поменять PTA1 на PTA7 |
Автор: | arkhnchul [ Чт ноя 16, 2017 16:19:08 ] |
Заголовок сообщения: | Re: 9s08sg32 |
а еще конкретнее? Непонятно, как бит туда записать? |
Автор: | spaun2222 [ Чт ноя 16, 2017 16:24:20 ] |
Заголовок сообщения: | Re: 9s08sg32 |
Да!До меня человек писал программу под данный проц!я не касался моторолл и вот прилетело!И значение SOPT2=6!не пойму откуда оно получилось?и задействована PTA1 а нужна PTA6 а остальное без изменений!постараюсь закинуть кусок программы ща |
Автор: | arkhnchul [ Чт ноя 16, 2017 16:34:52 ] |
Заголовок сообщения: | Re: 9s08sg32 |
значение SOPT2=6!не пойму откуда оно получилось? из даташита. 6 = 0b00000110 , установлены биты 1 и 2. Вообще судя по этому, TPM2CH0 должен быть уже PTA6. |
Автор: | spaun2222 [ Чт ноя 16, 2017 16:43:33 ] |
Заголовок сообщения: | Re: 9s08sg32 |
void PeriphInit(void) { SOPT1 = 0x20; // Disables COP and Enable STOP instruction SOPT2 = 6; // TPM1CH1 on PTC1 -> PWM_SPARK; // TPM1CH0 on PTA0 -> PWM_VENT; // // Selects FEI mode // Sets trimming for fBUS about 25 MHz ICS_FEI(); // PTAD = 0x83; PTBD = 0x20; // SPI CS OFF PTCD = 0x02; // PTADD = 0x83; // EN_VENT and EN_SPARK pins PTBDD = 0xA0; // SPI_CS and EN_19V pins PTCDD = 0x0A; // IN_PUMP pin PTC3(IN_FPUMP), PTC1 (PWM_SPARK) // Enable all pullups PTAPE = 0xFF; PTBPE = 0xFF; PTCPE = 0xFF; Добавлено after 2 minutes 24 seconds: Я все не пойму как мне вместо PTA1 управление поставить на PTA6!по сути только заменить порт,но деревянный я и не могу найти подвох Добавлено after 1 minute 32 seconds: как раз EN_VENT в данный момент висит на PTA1 а надо сместить на PTA6 Добавлено after 2 minutes 40 seconds: #define Vent_OFF (PTAD |= 0x02) #define Vent_ON (PTAD &= (~0x02)) |
Автор: | arkhnchul [ Чт ноя 16, 2017 16:50:27 ] |
Заголовок сообщения: | Re: 9s08sg32 |
отоночо. судя по даташиту и этому куску кода, что-то типа того: Код: ...
SOPT2 = 0x02; ... PTAD = 0xc3; ... PTADD = 0xc3; ... #define VENT_PIN (0x40) #define Vent_OFF (PTAD |= VENT_PIN) #define Vent_ON (PTAD &= (~VENT_PIN)) |
Автор: | spaun2222 [ Чт ноя 16, 2017 16:58:21 ] |
Заголовок сообщения: | Re: 9s08sg32 |
И если не ошибаюсь то 3 бит в SOPT2 определяет PTA1 или PTA6 Добавлено after 6 minutes 59 seconds: Пытаюсь разобраться где именно указывается какой порт котроллера участвует в том или ином процессе! |
Автор: | arkhnchul [ Чт ноя 16, 2017 17:00:13 ] |
Заголовок сообщения: | Re: 9s08sg32 |
он определяет, какой пин будет использоваться таймером. Вам же его надо использовать как простой gpio, так? |
Автор: | spaun2222 [ Чт ноя 16, 2017 17:07:24 ] |
Заголовок сообщения: | Re: 9s08sg32 |
В принципе да!Получается так пока команды не поступила по LIN интерфейсу на PTA6 5в,как поступила 0 Добавлено after 3 minutes 42 seconds: Но что самое интересное один и тот же таймер висит на PTA1 и PTA6 |
Автор: | arkhnchul [ Чт ноя 16, 2017 17:19:30 ] |
Заголовок сообщения: | Re: 9s08sg32 |
или, а не и |
Автор: | spaun2222 [ Чт ноя 16, 2017 17:28:25 ] |
Заголовок сообщения: | Re: 9s08sg32 |
PTADD = 0xc3; По этой команде мы активируем PTA7,PTA6,PTA1,PTA0 правильно? |
Автор: | arkhnchul [ Чт ноя 16, 2017 17:34:19 ] |
Заголовок сообщения: | Re: 9s08sg32 |
ну не "активируем", а устанавливаем режим работы этих пинов на выход |
Автор: | spaun2222 [ Чт ноя 16, 2017 17:54:35 ] |
Заголовок сообщения: | Re: 9s08sg32 |
Как я понял надо PTADD = 0xc0;т.к. Нужны тока PTA7 и PTA6 Добавлено after 19 minutes 32 seconds: // Initializes various registers and peripherals ///////////////////////////////////////////////////////////////////////////////////////// void PeriphInit(void) { SOPT1 = 0x20; // Disables COP and Enable STOP instruction SOPT2 = 0x02; // TPM1CH1 on PTC1 -> PWM_SPARK; // TPM1CH0 on PTA0 -> PWM_VENT; // // Selects FEI mode // Sets trimming for fBUS about 25 MHz ICS_FEI(); // PTAD = 0xC0; PTBD = 0x20; // SPI CS OFF PTCD = 0x02; // PTADD = 0xC0; // EN_VENT and EN_SPARK pins PTBDD = 0xA0; // SPI_CS and EN_19V pins PTCDD = 0x0A; // IN_PUMP pin PTC3(IN_FPUMP), PTC1 (PWM_SPARK) // Enable all pullups PTAPE = 0xFF; PTBPE = 0xFF; PTCPE = 0xFF; #define Spark_OFF (PTAD |= 0x80) #define Spark_ON (PTAD &= (~0x80)) #define Vent_OFF (PTAD |= 0x40) #define Vent_ON (PTAD &= (~0x40)) |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |