|
|
 |
Ответов
|
Oct 26 2012, 19:42
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(ViKo @ Oct 25 2012, 08:35)  Используются те же структуры инициализации, что и в библиотеке от ST. Очень неэффективно. Да там вся библиотека неэффективна. И имена на пол строки, код вроде и читаем, но простые вещи выглядят в тексте очень сложно. Вся легкость пропадает. Минус подхода - нужен какой то офис (у меня на компах например его просто нет, только вьювер стоит) и нет текстового файла конфигурации. Т.е. diff можно сделать только результата, а не исходника! Я для себя уже с 90х годов пошел по пути сохранения такой конфигурации в обычном текстовом файле в простом формате. А сейчас перешел на python там вообще все красиво получается. потому что если надо что то особенное тут же можно и вписать...
|
|
|
|
|
Oct 26 2012, 21:30
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(AHTOXA @ Oct 27 2012, 01:01)  А можно примерчик, как это выглядит? Идея была что бы код получался примерно таким: Код from lpc11c14 import *
U0.txd_pin = -1 U0.rxd_pin = -1
use_all_pins(SSP0)
add_output('test_led', P0[2]) add_block_input('kbd1', (P0[3],P0[4],P0[5])) add_block_input('kbd2', (P1[i] for i in range(2,7)))
generate('def.h','def.c') сейчас очень похоже и работает, -1 ножка автоматически назначается (для периферии), можно присвоить например P0[5]. Так же проверка есть на несуществующие ноги и т.п. add_output генерируют макросы и задают конфигурацию для ноги. (реально параметров больше) но есть псевдонимы с определенными свойствами (например LED(P0[1])) т.е. код компактнее и понятнее получается. но это пока еще больше концепт, но в паре проектов сегенерированным кодом инитил LPC11, там ноги муторно настраивать регистры по разному называются, исключения есть...
|
|
|
|
|
Oct 26 2012, 23:18
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(KRS @ Oct 27 2012, 03:30)  Спасибо, очень интересно. Однако меня немного смущает, что настройки проекта размазываются по сишным и питоновым файлам. У меня сейчас немного другой подход. Для каждого периферийного модуля имеется шаблонный класс с параметрами-настройками модуля. Он знает, какие ножки принадлежат модулю, и умеет их конфигурировать (в конструкторе). И все настройки сводятся к чему-то типа: hw.h: Код #include "uart.h" // настройки UART1 struct Uart1Settings { enum { uartNum = 1 }; enum { baudrate = 115200 }; ... }; // собственно UART1 typedef Uart<Uart1Settings> Uart1;
// просто ножки #include "pin.h" typedef Pin<'A', 1> DE1; typedef Pin<'A', 2> CS1; и hw.cpp: Код Uart1 uart1; Так я имею все настройки проекта в одном месте. Единственный недостаток - сразу не видно, какие ноги используются какими модулями. Пока мирюсь с ним
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
Сообщений в этой теме
aleks-falcon Генератор начального кода для STM32F4хх Oct 21 2012, 07:16 SyncLair Я так понимаю в OO я этим не смогу пользоваться ? ... Oct 21 2012, 10:08 izerg Чем эта программа лучше того что дают сами ST?
Ек... Oct 21 2012, 11:23  Aner Цитата(izerg @ Oct 21 2012, 14:23) Чем эт... Oct 21 2012, 18:50 Allregia Цитата(aleks-falcon @ Oct 21 2012, 09... Oct 21 2012, 16:45 Boriska Отличная штука получилась. На мой взгляд, очень по... Oct 22 2012, 10:07 ViKo А почему GRIO, а не GPIO? Oct 22 2012, 10:24 aleks-falcon Опечатка. Исправим. Oct 22 2012, 14:51 kolobok0 Цитата(aleks-falcon @ Oct 21 2012, 11... Oct 23 2012, 09:50 aleks-falcon Новый файл с исправлениями. Oct 23 2012, 17:58 Rash а не затруднит ли выложить в версиях офиса с расши... Oct 24 2012, 06:54 aleks-falcon Цитата(Rash @ Oct 24 2012, 10:54) а не за... Oct 24 2012, 14:54  Allregia Цитата(aleks-falcon @ Oct 24 2012, 16... Oct 24 2012, 19:14 Aner Не факт. Oct 24 2012, 20:08 vlad_new Уменя то же не фурычит. Говорит офис старый стоит.... Oct 24 2012, 22:18 Aner не визут ... и правильно! - сырые они. Юзайте ... Oct 24 2012, 22:31 Allregia Цитата(ViKo @ Oct 25 2012, 06:35) Я посмо... Oct 25 2012, 05:59  ViKo Цитата(Allregia @ Oct 25 2012, 08:59) Ког... Oct 26 2012, 08:03   Allregia Цитата(ViKo @ Oct 26 2012, 10:03) Меня.
... Oct 26 2012, 15:01    ViKo Цитата(Allregia @ Oct 26 2012, 18:01) Это... Oct 26 2012, 17:58     andries5 Цитата(ViKo @ Oct 26 2012, 20:58) Не пуга... Oct 26 2012, 19:24      ViKo Цитата(andries5 @ Oct 26 2012, 22:24) Пуг... Oct 27 2012, 06:27       andries5 Цитата(ViKo @ Oct 27 2012, 09:27) По-преж... Oct 27 2012, 07:08 KARLSON А мне понравилась)
Хочется как всегда большего, дл... Oct 25 2012, 04:39
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|