Мелкие вопросы по МК и ПЛИС.
Доброго времени суток, уважаемые Коты. Прошу помочь мне с одной проблемой. Собираю проект http://arduino.ru/forum/proekty/khronog ... ent-371445 .(мои посты на последних страницах под ником Raven 18) Проблема в том что фьюзы там для extreme_burner_avr а у меня CodeVisionAVR. Пробовал поставить extreme_burner_avr но ей вроде как для работы нужны какие то толи драйвера толи библиотеки, хрен его знает- постоянно пишет ошибку и не запускается. Я не очень силён в программировании поэтому и прошу помощи. Что посоветуете? Может быть их (фьюзы) как то можно "конвертировать"?
- Реклама
всем привет!
Хочу прикрутить к проекту DFU bootloader от популярной ардуино (сам бутлоадер взял отсюда generic_boot20_pb9.bin).
Бут зашил, светодиод мигает. Заливаю прошивку (программа просто зажигает светодиод). Прошивка устанавливается, но юсб отваливается и комп видит неопознанное устройство.
Почему так происходит? Область памяти бутлоадера защитил от записи.
Камень STM32F103C8. IDE IAR
В настройках линкера указал начало флеша как 0x08002000, в начале функции main прописал NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000);
Получился какой-то одноразовый бутлоадер...
Подскажите как заставить работать бутлоадер правильно ?
Вот код
UPD
Вроде понял. Цитата от сюда
Чтобы не нажимать каждый раз ресет, платы основанные на libmaple/stm32duino используют трюк. Они слушают usb serial порт. Если там возникает сигнал DTR и передается ключевая последовательность байт, то микроконтроллер перегружается в бутлоадер. Смотреть в функцию rxHook().
Но вот не пойму что за ключевая последовательность байт и как этот DTR "выглядит", если рассматривать его через призму виртуального COM порта? В RS232 этот сигнал представлен отдельным проводом...
Хочу прикрутить к проекту DFU bootloader от популярной ардуино (сам бутлоадер взял отсюда generic_boot20_pb9.bin).
Бут зашил, светодиод мигает. Заливаю прошивку (программа просто зажигает светодиод). Прошивка устанавливается, но юсб отваливается и комп видит неопознанное устройство.
Почему так происходит? Область памяти бутлоадера защитил от записи.
Камень STM32F103C8. IDE IAR
В настройках линкера указал начало флеша как 0x08002000, в начале функции main прописал NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000);
Получился какой-то одноразовый бутлоадер...
Подскажите как заставить работать бутлоадер правильно ?
Вот код
Код: Выделить всё
#include "stm32f10x.h"
int main(void)
{
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000);
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB , ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; ;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB, GPIO_Pin_9);
while (1)
{};
}Вроде понял. Цитата от сюда
Чтобы не нажимать каждый раз ресет, платы основанные на libmaple/stm32duino используют трюк. Они слушают usb serial порт. Если там возникает сигнал DTR и передается ключевая последовательность байт, то микроконтроллер перегружается в бутлоадер. Смотреть в функцию rxHook().
Но вот не пойму что за ключевая последовательность байт и как этот DTR "выглядит", если рассматривать его через призму виртуального COM порта? В RS232 этот сигнал представлен отдельным проводом...
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
© Альберт Эйнштейн
Добрых вечеров, хвостатые! Снова с глупыми вопросами к вам. Подключил датчик BMP280 к STM32. Качнул готовую библиотеку, правда на BME280. Но вроде как они заменяемые... хз.
Датчик живенько взлетел, давление передаёт исправно. 1115...1130 гПа. Вроде всё честно. А вот температура... 105...107*С. Это ж ни в какие ворота. И главное совсем не могу понять в чём ошибка. Второй датчик делает точно так же. При нагреве оба датчика исправно меняют температуру. Значит читаю не совсем уж мусор. Обработка температуры вроде как в даташите, один в один:
Ума не приложу, что делать-то?
Датчик живенько взлетел, давление передаёт исправно. 1115...1130 гПа. Вроде всё честно. А вот температура... 105...107*С. Это ж ни в какие ворота. И главное совсем не могу понять в чём ошибка. Второй датчик делает точно так же. При нагреве оба датчика исправно меняют температуру. Значит читаю не совсем уж мусор. Обработка температуры вроде как в даташите, один в один:
Код: Выделить всё
BME280_S32_t var1, var2, T;
var1 = ((((adc_T>>3) - ((BME280_S32_t)dig_T1<<1))) * ((BME280_S32_t)dig_T2)) >> 11;
var2 = (((((adc_T>>4) - ((BME280_S32_t)dig_T1)) * ((adc_T>>4) - ((BME280_S32_t)dig_T1))) >> 12) *
((BME280_S32_t)dig_T3)) >> 14;
t_fine = var1 + var2;
T = (t_fine * 5 + 128) >> 8;
return T;- Реклама
- Сообщения: 7
- Зарегистрирован: Вс май 07, 2017 12:56:58
Всем привет. У меня вопрос - Есть схема АЛМАГ 01 ( биорезонансный магнитный мед. аппарат) на PICе. Возможно-ли прошитую частоту 6.25 Гц заменить на 7.83 Гц. D = (коэф. заполнения) оставить таким - же 2%- длина импульса, 98% - длина паузы.
- Вложения
-
- Алмаг01.png
- (228.75 КБ) 564 скачивания
- Сообщения: 593
- Зарегистрирован: Пт дек 26, 2014 20:33:38
- Откуда: Самая большая деревня. (По мнению Габриэля Гарсиа Маркеса)
[uquote="просто КОТ",url="/forum/viewtopic.php?p=3409685#p3409685"]BME280_S32_t var1, var2, T;
var1 = ((((adc_T>>3) - ((BME280_S32_t)dig_T1<<1))) * ((BME280_S32_t)dig_T2)) >> 11;
var2 = (((((adc_T>>4) - ((BME280_S32_t)dig_T1)) * ((adc_T>>4) - ((BME280_S32_t)dig_T1))) >> 12) *
((BME280_S32_t)dig_T3)) >> 14;
t_fine = var1 + var2;
T = (t_fine * 5 + 128) >> 8;
return T;[/code]
Ума не приложу, что делать-то?[/uquote]
А какого типа t_fine ?
var1 = ((((adc_T>>3) - ((BME280_S32_t)dig_T1<<1))) * ((BME280_S32_t)dig_T2)) >> 11;
var2 = (((((adc_T>>4) - ((BME280_S32_t)dig_T1)) * ((adc_T>>4) - ((BME280_S32_t)dig_T1))) >> 12) *
((BME280_S32_t)dig_T3)) >> 14;
t_fine = var1 + var2;
T = (t_fine * 5 + 128) >> 8;
return T;[/code]
Ума не приложу, что делать-то?[/uquote]
А какого типа t_fine ?
О технике чего спорить-то, давайте попробуем.
Подскажите, кто щупал зверя от ST - BlueNEG-2, у него внутри должно быть Кортекс-М0, как я понимаю оно для обслуживания приёмопедератчика и цинично заюзать в своих корыстных целях уже не получится?
Спасибо.
Спасибо.
Вопрос по таймеру TIM1 на STM32F407
В даташите (REF. MAN) говорится, что в режиме One Pulse таймер по триггеру запускается и останавливается
как только произойдет событие Update.
Там же (в даташите) говорится, что если в Repetition Counter задать значение больше нуля, то событие Update сгенерируется
только после того, как таймер "прокрутится" N-ное количество раз.
Означает ли это, что если я настрою таймер в One Pulse режим, задам в Repetition Counter к примеру, значение '1',
то таймер "прокрутится" два раза и остановится? (выдав мне два импульса, если я еще буду использовать PWM или Output Compare
для вывода этих импульсов за пределы кристалла)
Задача состоит в том, чтобы таймер выдал два-три (или более) одинаковых по длине импульса и остановился,
при этом дернув DMA для обновления данных в compare регистрах (как их обновить за один пинок DMA - я знаю)
При этом, запуск должен быть по внешнему импульсу, только по фронту, а спад должен игнорироваться,
так как он может произойти в любой момент.
В даташите (REF. MAN) говорится, что в режиме One Pulse таймер по триггеру запускается и останавливается
как только произойдет событие Update.
Там же (в даташите) говорится, что если в Repetition Counter задать значение больше нуля, то событие Update сгенерируется
только после того, как таймер "прокрутится" N-ное количество раз.
Означает ли это, что если я настрою таймер в One Pulse режим, задам в Repetition Counter к примеру, значение '1',
то таймер "прокрутится" два раза и остановится? (выдав мне два импульса, если я еще буду использовать PWM или Output Compare
для вывода этих импульсов за пределы кристалла)
Задача состоит в том, чтобы таймер выдал два-три (или более) одинаковых по длине импульса и остановился,
при этом дернув DMA для обновления данных в compare регистрах (как их обновить за один пинок DMA - я знаю)
При этом, запуск должен быть по внешнему импульсу, только по фронту, а спад должен игнорироваться,
так как он может произойти в любой момент.
I am DX168B and this is my favourite forum on internet!
Господа, подскажите пжлст чем ( железо и софт ) можно прошить микросхему памяти EEPROM 24c512 ?
Из досупных штуковин есть USBasp и USB-UART переходник на базе RS232 ( так называемый FTDI )
не имел раньше дела с прошивкой чипов памяти, а тут телек накрылся.
ПС:
Заказал CH341A, но ждать не охота... Руки чешутся...
COM порта на компе нет
Из досупных штуковин есть USBasp и USB-UART переходник на базе RS232 ( так называемый FTDI )
не имел раньше дела с прошивкой чипов памяти, а тут телек накрылся.
ПС:
Заказал CH341A, но ждать не охота... Руки чешутся...
COM порта на компе нет
не зная броду не лезь к вольтмоду
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
Многие TV сами прошивают дефолтные значения при установке чистой eeprom.
Да, прикупил, впаяю чистую сегодня.
Проверим.
А все же, можно ли FTDI переходником как то читать/записывать данную чипулину?
Добавлено after 3 hours 19 minutes 32 seconds:
вроде нашел:
http://9zip.ru/mobile/usbasp_spi_flash.htm
источник http://forum.easyelectronics.ru/viewtopic.php?t=10947
Проверим.
А все же, можно ли FTDI переходником как то читать/записывать данную чипулину?
Добавлено after 3 hours 19 minutes 32 seconds:
вроде нашел:
http://9zip.ru/mobile/usbasp_spi_flash.htm
источник http://forum.easyelectronics.ru/viewtopic.php?t=10947
не зная броду не лезь к вольтмоду
С чистой EEPROM телек включился.dosikus писал(а):Многие TV сами прошивают дефолтные значения при установке чистой eeprom.
Но ни какие настройки не сохраняет.
не зная броду не лезь к вольтмоду
- Сообщения: 2316
- Зарегистрирован: Вс июн 26, 2011 20:03:21
Добрый день! Хочу встроить имитатор горения свечи в одно устройство. Встал вопрос подбора алгоритма управления RGB светодиодном. Как правильно это организовать?
Пробовал делать псевдослучайные смены яркости, но естественного свечения получить не удалось.
Сейчас склоняюсь к варианту, сделать RGB фильтры для трёх фоторезисторов и снять десятиминутные значения в массив с интервалом в 100 мс. Выйдет около 20 кб данных.
Пробовал делать псевдослучайные смены яркости, но естественного свечения получить не удалось.
Сейчас склоняюсь к варианту, сделать RGB фильтры для трёх фоторезисторов и снять десятиминутные значения в массив с интервалом в 100 мс. Выйдет около 20 кб данных.
Для свечи RGB-светодиод, имхо, перебор, достаточно обычного оранжевого.
Вполне приличная имитация получается именно по псевдослучайному алгоритму изменения яркости, вот мой проект и видео:
Для светодиодов типа WS2812B у меня есть чуть другой алгоритм (со случаным цветом в оранжево-красной части спектра, случайной скоростью вспыхивания и погасания и случайным выбором светодиода из нескольких), дающий вполне приличный эффект пламени, но дл этого требуется несколько светодиодов и их пространственное размещение.
Добавлено after 4 minutes 18 seconds:
Кстати, трудолюбивые китайцы освоили выпуск светодиодов, которые сами по себе светятся, как пламя свечи...
Вполне приличная имитация получается именно по псевдослучайному алгоритму изменения яркости, вот мой проект и видео:
Для светодиодов типа WS2812B у меня есть чуть другой алгоритм (со случаным цветом в оранжево-красной части спектра, случайной скоростью вспыхивания и погасания и случайным выбором светодиода из нескольких), дающий вполне приличный эффект пламени, но дл этого требуется несколько светодиодов и их пространственное размещение.
Добавлено after 4 minutes 18 seconds:
Кстати, трудолюбивые китайцы освоили выпуск светодиодов, которые сами по себе светятся, как пламя свечи...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
[uquote="isx",url="/forum/viewtopic.php?p=3439869#p3439869"]Как правильно это организовать?[/uquote]
интересный подход к искусственным свечкам, реально похоже (imho)
3D Simulated LED Candle Using IS31FL3731
ATmega328P с ардуиновым скетчем - в исходнике есть фрэймы (png файлы, можно свои) и конвертер на питоне
https://learn.adafruit.com/animated-fla ... t/overview
LED CHARLIEPLEXED MATRIX - 9X16 LEDS - схема, файлы Орла и пр.
https://learn.adafruit.com/i31fl3731-16 ... /downloads
https://learn.adafruit.com/i31fl3731-16 ... cuitpython
интересный подход к искусственным свечкам, реально похоже (imho)
3D Simulated LED Candle Using IS31FL3731
ATmega328P с ардуиновым скетчем - в исходнике есть фрэймы (png файлы, можно свои) и конвертер на питоне
https://learn.adafruit.com/animated-fla ... t/overview
LED CHARLIEPLEXED MATRIX - 9X16 LEDS - схема, файлы Орла и пр.
https://learn.adafruit.com/i31fl3731-16 ... /downloads
https://learn.adafruit.com/i31fl3731-16 ... cuitpython
Интересный драйвер IS31FL3731 на 144 светодиода, audio входом, шиной I2C и памятью на 8 frames for animations...oleg110592 писал(а):...реально похоже...
При его цене (около 3$) - он того стОит.
- Сообщения: 2316
- Зарегистрирован: Вс июн 26, 2011 20:03:21
[uquote="ARV",url="/forum/viewtopic.php?p=3439899#p3439899"]Вполне приличная имитация получается именно по псевдослучайному алгоритму изменения яркости, вот [url=http://arv.radioliga.com/content/view/150/44/]мой проект[/uquote]
А не поделитесь алгоритмом псевдослучайности, а то у меня получается что она временами дергается?
А не поделитесь алгоритмом псевдослучайности, а то у меня получается что она временами дергается?
Так исходники же доступны, какие там ещё алгоритмы?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Что то не пойму - куда делась STM32F407G-DISC1 с официального сайта? При этом STM32F4DOSCOVERY снова "Active", насколько помню была NRND.





