Перейти к содержанию

Как Объявить Структуру В Coocox?


mr_smit

Рекомендуемые сообщения

Пишу для STM32 в CooCox:

typedef struct
{
uint8_t address;
uint8_t type;
char	 *name;
} Module;

Module Modul;

Modul.type = 1;

Получаю ошибку:

[cc] Parsing ..\..\..\syscalls\syscalls.c
 [cc] Parsing ..\..\..\stm_lib\src\misc.c
 [cc] C:\web\web\main.c:35:6: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
 [cc] Modul.type = 1;
 [cc]	 ^

Что я делаю не так?

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Modul.type = 1;

Внутри функции ?

Нет

P.S. А внутри функции работает :dance2: По крайней мере компилируется. Просто по аналогии с x=2, y=3 записал. Долго въехать не мог почему у них

GPIO_InitStruct.GPIO_Pin = GPIO_Pin_10;

работает, а у меня нет. А тут вон оно что. Не сообразил. Спасибо!

Изменено пользователем mr_smit
Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

За 3 дня можно было перечитать любую книжку по Си не один раз :)

Мне не горело. Первый раз решил попробовать структуры - не получилось. Обошелся без них.

Изменено пользователем mr_smit
Ссылка на комментарий
Поделиться на другие сайты

Первый раз решил попробовать структуры

Ну, структуры тут совсем не причём. Исполняемый код в Си всегда пишется в пределах функций, а не за их пределами.
Ссылка на комментарий
Поделиться на другие сайты

очень рекомендую потренироваться синтаксису STM32 в кокосе и как можно скорее переезжать в Keil на ООП. Иначе с обьемами ресурсов камня очень быстро тонешь в процедурном коде. А кокос в этом плане ущербен к сожалению.

Структуры мусорят код. Классы делают его стройным и читабельным, позволяя не разводить зоопарк идентификаторов и контейнеров. (IMHO)

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Если бы мне дали такой совет в начале освоения кортексов, я бы сэкономил массу времени. К сожалению свои ошибки всегда почему то обходятся дороже

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

mail_robot, мне порой кажется, что Вам приплачивает компания ST. Как ни тема - так пиар STM'ов...

С нуля их тяжеловато осваивать. Надо начинать с более простого, иначе можно что-нибудь себе надорвать :)

А пользоваться сразу всяческими быдлобиблиотеками, непонимая ни структуры, ни вообще что происходит - моветон. Нужно начинать с азов, потихонечку, ...

Ссылка на комментарий
Поделиться на другие сайты

сам замечаю. Не приплачивают.

Откровенно говоря не понимаю что в этом плохого - советовать людям не наступать на грабли, пройденные самим собой уже несколько раз. У меня в лаборатории полный комплекс отладочных средств для пик и авр. Но меня просто убила простота и дешевизна, а главное функциональность какой то сраной дискавери за 20 баксов. Там тебе и программатор и отладчик и все это по современному интерфейсу и софт не на костылях. И я прозрел

Просто стало понятно, что прогресс не стоит на месте и боятся чего то нового, только потому что на картинке это выглядит сложно - глупо. 32-ой я освоил за 3 дня. Просто поняв в чем суть его архитектуры. А суть проста - пока ты ничего не включил и не потрогал, ничего и не работает, кроме генератора. Хочешь чего то получить от камня - просто включи нужный блок. И пофик что их там тьма. Работать будет только то что ты включил и настроил. По сути можно вообще аналог аврки включить и работать с ним. Для кода на С мало что станет заметным кроме имен. А если еще чуть освоить стандартные библиотеки, то вообще красота. Кокос в этом хороший помощник со своим шикарным репозитарием и настройками по умолчанию. Куб помогает визуально заценить что на каких ногах и что чему будет мешать, если охота всего и побольше. Код куба на HAL и для меня лично бесполезен. Но в остальном куб просто рульная софтинка.

А дальше просто требуется чуть знаний С, а желательно С++. И все. Море возможностей по смешной цене. И это немаловажно для начинающего. Вы же сами видите сколько людей на форуме мучаются вопросами - чем залить и чем отладить? И это в 90% случаев главное препятствие на пути к освоению МК вообще. А тут - ну полный мерседес. Хотя... если кому то охота жигули, я не против

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Да всё это понятно, всё хорошо, ... но только тому, кто уже пощупал микроконтроллеры и познал примерно их архитектуру.

Возьмите любой таймер у STM и откройте его внутреннюю схему, у Вас ни одна там чёрточка не вызовет никаких вопросов, а начинающий просто ахнет от ужаса. Ему это итак всё ново, а тут для него - каша.

И откройте ту же диаграмму у какого-нибудь младшего ПИКа - два кубика, две палочки, ... - разбираться легче. И когда человек уже элементарно будет читать эти диаграммы, тогда начнёт понимать и другие, более сложные и навороченные.

Я сам прекрасно понимаю что там, и запустил свою первую STM-ку с полпинка, ибо у меня за плечами большой опыт юзанья ПИКов. По этому для меня там ужасного нет ничего. Но новичкам, не зная что вообще такое микроконтроллер и что он может, к сожалению это всё будет каторгой, которая быстро перерастёт в нежелание что-либо вообще изучать.

Школьникам тоже не начинают сразу пихать высшую математику, хотя она круче - зная и изучив её, можно быть более крутым математиком, нежели зная её азы. Но без азов никуда, к сожалению ... .

Ссылка на комментарий
Поделиться на другие сайты

Я вам скажу по секрету - до того как я пощупал STM я написал всего одну единственную прогу под PIC. Все остальное были пустые повторюшки готовыми прошивками формата HEX. Это считается за шикарный опыт?

До этого лет 15 назад я шкодил на асме под Z80, но ничего общего с контроллерами там не было.

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Я бы не назвал это везением, скорее необходимость.

вот в этой теме на последних страницах и началась та самая эпопея http://forum.cxem.net/index.php?showtopic=81786&hl=

я том понял что 10 разрядов АЦП PIC мне точно не хватит, нужен ЦАП, и нужно нормальное АЛУ. Можете лично заценить прогресс прямо по дням. Через месяц у меня на столе уже лежала рабочая система с пид регулятором и всеми хоряжками. Освоение PIC было намного сложнее. На самом деле все проблемы с PIC были связаны с необходимостью прикручивания родного софта к родному отладчику-программатору. В случае с СТМ этот этап был пройден в 10 раз быстрее, ибо там все на автомате и без костылей.

Сами по себе камни я бы не сказал что сильно отличаются. Да, связей и флагов у СТМ больше. Но они все так же просты. Все вовсе не нужно, выбираешь только то что реально надо для задачи. Не более. А их обилие просто дает большую свободу действий. Не у каждого камня старой архитекруты есть таймер с внешним гейтом к примеру. А тут у тебя есть любой таймер с каким хочешь наличием ресурсов. Ну я согласен что их там порой слишком много, но дык и читать то про них не всегда обязательно. Ну есть они, ну и шиш с ними. Нам то надо только чтоб считало да прерывалось. На остальное положить с горкой, потому как оно не работает пока не включено. Вот что самое главное. Это как бы конструктор лего. 8-битка это 10 кирпичиков, а СТМ это 10000 кирпичиков. Не нужны кирпичики, ну и не доставай. Но из 10000 кирпичиков ты слепишь хоть звездолет, а из 10 даже толкового паровоза не выйдет

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Всё, всё, понял, 233 ома расчётных.
    • это не питание... это падение напряжения на переходе коллектор-эмиттер
    • и что не так? при входном токе 10 ма,и питании 3,3в выходной ток будет в районе 12ма.
    • Так случилось, что ничего кроме новых КТ840Б нет, а покупать на такую ерунду не охота. Нужно соединить параллельно 5 транзисторов *2, чтобы создать пуш-пул ферритовый преобразователь для питания магнетрона от микроволновой печи. Я уже намотал пластиковым проводом (они держат большее напряжение, чем эмальпровод) 267 витков вторичная обмотка (Одесакабель со снятой вторичной (белой) изоляцией 0.75) и 3*2 витка первичная (150 жил провода 0.1 мм), и уже испытал, что этот трансформатор держит 3 см дугу (около 30 киловольт) без пробоя (а сама изоляция держит около 50 кВ постоянного, тестировал умножителем УН9-27 со строчником ТВС110), дополнительно будет погружен в масло для охлаждения и изоляции, намотан на ферритовых полукольцах отклоняющей системы кинескопа М2000НМ, а габаритную мощность калькулятор показал 4кВт на частоте 35кГц (которая на Вашем форуме описана как оптимальная для "меандра" именно на М2000НМ). Возможно эти данные помогут определить, нужно уменьшать или увеличивать количество транзисторов КТ840 и повлияют на схему соединения. Программа расчета показала что нужно 1100 жил 0.1 мм но я намотал только 150 - больше не помещается и работать он будет в импульсном режиме (включатся на десяток секунд). Мощность 700 Вт, питание 12В, ток первичной обмотки 70А. Возможно придется добавлять еще транзистор КТ840 к каждой сборке, чтобы открывать такое большое количество транзисторов. Всего КТ840 есть 50 штук. По расчету преобразователь должен давать напряжение 1000-1400В, а остальное надо сделать умножителем, и я не нашел высоковольтных быстрых диодов на 35кГц ни в одном из местных киевских магазинов (возможно придется заказывать в интернете).  Множить хочу до максимального возможного (хоть 100кВ), которое выдержит магнетрон, потому что чем больше напряжение, тем больше мощность. Хочу купить фольгу и пленку, пропитать и погрузить в масло, скрутить в рулон, сделать высоковольтный конденсатор, типо этот преобразователь (допустим он даст 30кВ после умножения) заряжает этот конденсатор, а потом он разряжается на магнетрон.
    • Похоже так. При этом оптопара - далеко не микроскоп, а вполне себе ширпотреб, копеечный.  У ходовой оптопары PC817 типовое время закрытия - 3 мкс, максимальное - 18 мкс. Надо пробовать, возможно вам хватит. Быстрее будет 6N136, но у неё включение сложнее.
×
×
  • Создать...