Создание собственной системы стабилизации

SergDoc
rual:

у тебя аксель какой?

отвечу - mpu 6050

rual:

Сергей, читай родную доку, а лучше возми пример для девборды, там всё чётко расписано.

на сколько я вкурил у f10x и f4xx довольно по разному всё это делается, например uart1 в f10x сидит на 4-м канале, а в f4xx на 4-м канале 3-й uart по 10х есть табличка где что, а вот на 4хх не нашел 😦

rual
SergDoc:

на сколько я вкурил у f10x и f4xx довольно по разному всё это делается

Про ф4 ничего нескажу, дисковери мне ещё не пришли, могут быть конфликты по ресурсам. может есть смысл вообще от ПДП отказаться для УАРТ, сделать в прерывании?

SergDoc

в 3-й и в 4-й периферия одинаковая вроде…
и на сколько перелистал, не нашел, на какую литературу опереться…

rual

Сергей, качай вот это www.st.com/st-web-ui/static/…/DM00031020.pdf
см. стр. 215. далее смотришь всё что ниже и доходишь до Таб 35.
Вкрацце примерно так: выбираешь поток который будешь использовать для передачи, потом разрешаешь потоку канал соответсвующий устройству (таб35), и не забываешь разрешить устройству соответсвующий запрос ПДП.
Кста, ПДП у Ф3 такое же как Ф1, у Ф4 более гибко.

И ещё прикол, есть железософт Ф4 под меломягкий Ц# www.st.com/st-web-ui/static/…/DM00063340.pdf
Вот где с железом можно не париться, вебкоптер для д😁мохозяек!

SergDoc

Спасибо - будет что почитать на ночь 😃 к мелкомягким отношусь - а никак не отношусь 😃 чё и полез под эклипс, дабы уплыть с win/
у меня пока две новости:
в dfu - проц видится из-под st-link, значит отпаиватся больше ненадо и вторая - под эклипсом и кейлом прошивки получаются идентичные, значит всё собирается одинаково, а да уже на кварце появились правильные напряжения (осциллограммы не смотрел ибо мой личный С-61 домой тягать напряжно, а на работе некогда…) …

если что от ST-link у меня 6 проводов, SWDIO, SWCLK(не зря на плате контактные площадки сделал 😃 ), RESET, на порт B3(не понял зачем?), +5V, GND…
p.s. Могу сделать схему и печатку под полный ST-Link, с поддержкой JTAG интерфейса, правда пока не вижу смысла, но если кому понадобится нарисую(безвоздмездно-тобишь даром:) )…
p.p.s. ПДП2 использовал для АЦП из примера - вроде пошло…

rual
SergDoc:

к мелкомягким отношусь - а никак не отношусь

да я это не тебе, не помню в какой ветке встречалось, вроде здесь новички спрашивали компактную платформу с высокоуровневым программированием.

SergDoc:

если что от ST-link у меня 6 проводов

на дисковери тоже 6

SergDoc
rual:

Сергей, качай вот это www.st.com/st-web-ui/static/a...DM00031020.pdf

Ещё раз спасибо, на 219 стр. как раз то что и искал, UART1 только DMA2 в ф4, а я его пытался в первый запихнуть как в 103-м 😃

rual:

на дисковери тоже 6

а нафига на B3?

oleg70
rual:

вроде здесь новички спрашивали

Александр, подскажите, (настраиваю L3gd20) что есть параметр “bandwidth” типа “ширина полосы”,
поставил у гиры FULL SCALE 2000 а данные на выходе (в терминал) скачут аж до 6000!, ничего не могу понять…
Да еще как то странно не совпадают оси “X” и “Y” , а “Z” вообще не реагирует…

Вот мой “быдлокод”:

GPIO_ResetBits(GPIOD,GPIO_Pin_7);

while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET){}
SPI_SendData8(SPI1,0xE8);

while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET){}

SPI_SendData8(SPI1,0x00);
while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET){}
GYR[0]=SPI_ReceiveData8(SPI1);

SPI_SendData8(SPI1,0x00);
while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET){}
GYR[1]=SPI_ReceiveData8(SPI1);

SPI_SendData8(SPI1,0x00);
while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET){}
GYR[2]=SPI_ReceiveData8(SPI1);

SPI_SendData8(SPI1,0x00);
while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET){}
GYR[3]=SPI_ReceiveData8(SPI1);

SPI_SendData8(SPI1,0x00);
while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET){}
GYR[4]=SPI_ReceiveData8(SPI1);

SPI_SendData8(SPI1,0x00);
while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET){}
GYR[5]=SPI_ReceiveData8(SPI1);

GPIO_SetBits(GPIOD,GPIO_Pin_7);

GX=(int16_t)(((uint16_t)GYR[1]<<8)+GYR[0]);
GY=(int16_t)(((uint16_t)GYR[3]<<8)+GYR[2]);
GZ=(int16_t)(((uint16_t)GYR[5]<<8)+GYR[4]);

Razek
rual:

Вот где с железом можно не париться, вебкоптер для дмохозяек!

А зря Вы так смеетесь когда много лет назад сидел на Эмбедет студио от Микрософта, когда андроида не существовало и была только Win CE, когда производители железа использовали кто мипсы кто АРМы, Микрософт тогда имел мольный сдк и отличную документацию для разработки под узкий круг процов. Вообще круче мелкмягких по документации равных и сейчас нет. Самое главное это же сократить сроки разработки, а не процесс ради процесса. После мелкомягких мне переходить на эклипсоподобный софт было как даунгрейд.

SergDoc

Я конечно же туповатый, но упрямый, дебаггер я запустил, по всей видимости проц не стартует, куда в первую очередь ткнуться?
проц уже определяется дебаггером - всё что пока могу сказать…

DVE
Razek:

А зря Вы так смеетесь когда много лет назад сидел на Эмбедет студио от Микрософта, когда андроида не существовало и была только Win CE

О да, EVС++ 3.0 и 4.0 была вполне неплоха, последняя которую использовал, была VS2003/2005 и SDK под WM5.0, по возможностям отладки очень даже (например посмотреть HTML с форматированием прямо в дебаггере), в Эклипсе до сих пор такого вроде нет. Плюс практически все возможности винды - MFC, ATL, COM, GDI, и пр, на мобильном устройстве.

C# кстати под WinMobile тогда уже был, правда довольно-таки урезанный и бесполезный.

mahowik

Парни! поругаюсь немного! 😃
Как то лет 10-12 назад, купик дорогущую книжку по j2ee. По неопытности не углядел, что там все тех термины переведены на русский… Потом поперся по собеседованиям и мне наделали замечаний, что я называю привычные спецам термины по русски… Хорошо, что в этой книжке не додумались хотя бы “bean” в “боб” перевести… 😃

В общем призываю всех пользовать термины родные, т.к. к примеру даже в адаптитованных статьях как правило пишут DMA, а не ПДП и т.д…

SergDoc
mahowik:

В общем призываю всех пользовать термины родные

а это чтобы шпиёны не догадались 😃

SergDoc

у меня первые удачи-неудачи, даже незнаю как назвать 😃 во включении светодиодов нашел уже три ошибки(но так ещё и не зажег)! далее затык в micros и millis но думаю - пога не зажег светодиод (подоткнут из примера под код имеющийся) дальше и лезть не стоит…
а полетал сегодня на мелкоплате - вроде никуда не тянет 😃 , только по ветру, приехало всё к квадрику(раму собрал), а трёху разбирать не хочется 😦

rual
oleg70:

Александр, подскажите, (настраиваю L3gd20)

Олег, не понятно какие библиотеки используете, см. в архиве стандартные функции обращения к ДУСу.

SergDoc:

даже пока не знаю где копать…

ОТладка вообще работает? Если да, то начинать надо с инициализации тактовых генераторов и стека, дальше лови переход в main(). Ну а там уже сам код.

Razek:

А зря Вы так смеетесь

Да как бы не смеюсь, просто раньше на АВРе (и ещё раньще на 51м) имел правило проверять трансляцию из Си в машкод дизассемблером. А сейчас всё больше приходится полагаться на совесть разработчиков драйверов и пр. низкоуровневый сторонний софт. Понятно что в мире “больших” компутеров всё давно только так и было, но вот приходит время и для микроконтроллеров…

mahowik:

Парни! поругаюсь немного!
…призываю всех пользовать термины родные, т.к. к примеру даже в адаптитованных статьях как правило пишут DMA, а не ПДП и т.д…

Не надо ругаться, Александр!😃 Просто для меня лично важно, чтобы термины и абревиатуры несли смысл, а так как я мыслю (“смысл” и “мысль” один корень) по-русски, то использование иностранных слов вызывает у меня раздражение (особо когда раскладку приходится переключать). Хотя допускаю, что в настоящее время существуют компьютерные технологии со своим искусственным внутреним миром и своей особой филосософией, которая не может быть без потерь механически переведена на русский. И скорей всего это либо “фирменная” обёртка для давно известных математических сущностей (продукт маркетологов), либо узко специальная технология используемая в завершенном конечном продукте (вещь в себе), когда например на семинаре по продукту на вопрос “почему?” отвечают “потому что гладиолус” или “художник так видит”.
Без обид, Александр, но Монреаль всё ещё франкоговорящий? Во французких школах информатику (или как там она называется) исключительно на английском преподают?
Вообще тема интересная для размышления (и потреньдеть), но не в этой ветке, может в “заседении общества”? 😉

STM32F3_Discovery.rar

SergDoc

в принципе разобрался code.google.com/p/afrodevices/source/…/config.c?r=… вот с этой хренью точно никуда не полетит, особенно void readEEPROM(void) и ей подобным, в краце: там выбран последний килобайт флеши и он записывается стирается и т.п. - это в 103-м , ну а мне по незнанию преспокойно первый сектор стирал 😃 пока не знаю что придумать? можно и в eeprom-ку писать внешнюю, пока не знаю…

mahowik
rual:

Не надо ругаться, Александр! 😃

Буду ругаться! 😃 Например ДУС в частности, у меня вообще ассоциируется со средством для уничтожения мух и тараканов! 😃

rual:

Без обид, Александр, но Монреаль всё ещё франкоговорящий?

по раЁнам… 😃

rual:

Во французких школах информатику (или как там она называется) исключительно на английском преподают?

разные школы, разный уклон, но термины (на сколько общался с разными ИТ-ми) везде на инглише… в Минске также было, думаю как и везде… каверканий терминов конечно хватает, но по большей части это англицизмы, к примеру заюзать, проапдетить и т.д., которые не так ухо режут как ДУС… ИМХО… 😃

leprud
SergDoc:

особенно void readEEPROM(void) и ей подобным

Это заглушка от AVR сделана, где EEPROM (rual - ЭСППЗУ 😉 ) таки присутствует, в отличие от арм-ов… Также возьмите последние килобайт(ы), да пишите туда свои данные

@file EEPROM_Emulation/inc/eeprom.h

SergDoc

я не считаю что флеш следует использовать в данном случае, ибо ресурс у неё не безграничен, пример автомагнитолы audi - кто производитель уже не помню, через некоторое время - перестаёт работать регулировка громкости по этой причине… но блин по i2c eeprom тоже палка о двух яй концах, и скорость шины и возможные ошибки 😦