Кто любит RISC в жизни, заходим, не стесняемся.
Пн янв 16, 2023 19:19:12
8. flagon должен быть volatile.
Для дрыгания ногами BSRR придуман. Собака - watchdog.
Пн янв 16, 2023 19:24:23
Погуглил, без моего участия он же бы не включился.
Чудеса какие то(
Раз уж мы тут собрались. Стартап требует вот эту функцию - void SystemInit(void){}. Можно уалить требование в самом стартапе или пустую функцию добавить в майн, а как правильно?
Пн янв 16, 2023 19:32:36
Задержку, кстати, можно сильно проще без всяких прерываний делать. Включать в режиме OPM и тупо ждать флага UIF.
- Код:
TIM2->SR=0;
TIM2->CR1 = TIM_CR1_CEN | TIM_CR1_OPM;
while(!(TIM2->SR & TIM_SR_UIF));
Вызов SystemInit из стартапа можно удалить. В IAR вместо него вызывается __low_level_init().
Пн янв 16, 2023 19:39:13
Задержку, кстати, можно сильно проще без всяких прерываний делать. Включать в режиме OPM и тупо ждать флага UIF.
- Код:
TIM2->SR=0;
TIM2->CR1 = TIM_CR1_CEN | TIM_CR1_OPM;
while(!(TIM2->SR & TIM_SR_UIF));
Вызов SystemInit из стартапа можно удалить. В IAR вместо него вызывается __low_level_init().
О, если из стартапа удалить строку ругающую эту функцию - вообще перестает работать дисплей == LDR R0, =SystemInit
Пн янв 16, 2023 19:43:40
Строка ругает функцию?
Пн янв 16, 2023 19:45:48
Из за нее ошибка без функции вылазит. Да черт с ним, что с экранчиком то
Пн янв 16, 2023 19:52:38
Да черт с ним, что с экранчиком то
Он не работает!
А решение, скорее всего, вот тут
- d1.png
- (4.97 KiB) Скачиваний: 331
Пн янв 16, 2023 19:53:51
Это кнопочка которой я запускаю прошивку, всегда так делал.
Пн янв 16, 2023 19:55:01
Ну, тогда осталось сделать то что после and
Пн янв 16, 2023 20:01:18
На белую я тоже нажимал тод же эффект
Причем после компиляции экран не работает, а вот после ресета зажигается на пол секунды
Пн янв 16, 2023 20:14:29
После слова and написано слово Debug
Пн янв 16, 2023 20:25:54
Да я давно так запускаю все работает всегда. Тут вообще что то непонятное творится(
Вот сейчас собрал проект нна диско, той же кнопкой - все работает, экранчик горит всякое рисует
Последний раз редактировалось
TEPEM Пн янв 16, 2023 20:43:46, всего редактировалось 1 раз.
Пн янв 16, 2023 20:43:35
О, если из стартапа удалить строку ругающую эту функцию - вообще перестает работать дисплей == LDR R0, =SystemInit
Боюсь спросить, а вы только выделенную строку удаляли? Ну мне так, Чисто поржать.
- d3.png
- (9.76 KiB) Скачиваний: 312
Пн янв 16, 2023 20:44:27
Я не стал ни чего удалять, заносил ее за // - все перестало работать - все вернул
Как убавить скорость SPI шинки?
Последний раз редактировалось
TEPEM Пн янв 16, 2023 20:46:12, всего редактировалось 1 раз.
Пн янв 16, 2023 20:45:39
Ну когда перестало работать, только её удаляли?
Пн янв 16, 2023 20:47:17
Ну у меня перестал экран работать даже на 0.3сек, да только ее. Нормально он не работал( Я уже свисток поменял думал брак.
Если подумать, он же не включает экран без ресета, может что то не так, хотя потом картинка выходит, очень странно. И если его настроить и оставить питание при этом ни чего не передавать он же все равно будет показывать пред идущую картинку. Значит там в догонку что то летит выходит???
Пн янв 16, 2023 20:51:50
Как убавить скорость SPI шинки?
А какая она сейчас и где вы её задали?
Пн янв 16, 2023 20:54:05
ЛауИни
- Код:
RCC->APB2ENR |= RCC_APB2ENR_SPI1EN; //Taktirovanie SPI1
SPI1->CR1 |= (SPI_CR1_MSTR | SPI_CR1_SSM | SPI_CR1_SSI);
Передача
- Код:
GPIOB->ODR &= ~(1<<7); //ChipSelect loy
GPIOB->ODR |= (1<<6); //DC UpLevel
SPI1->CR1 |= SPI_CR1_DFF;
while (!(SPI1->SR & SPI_SR_TXE)){};
SPI1->DR = dat;
while (!(SPI1->SR & SPI_SR_TXE)){};
while ((SPI1->SR & SPI_SR_BSY)){};
GPIOB->ODR |= (1<<7); //ChipSelect Up
Пн янв 16, 2023 20:58:32
Ну а скорость то какая сейчас? Вы же понимаете, что я не просто так задаю провокационные вопросы? Может в RM заглянуть всёже?
Пн янв 16, 2023 21:00:34
Так говорю же, 4 свистка закирпичил, вставил ваш листинг, он не убил очередной свисток с ним и работаю
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.