Найдено 11 результатов

Simba
Вт окт 07, 2008 22:40:53
Форум: Микроконтроллеры и ПЛИС
Тема: Пины и массив
Ответы: 26
Просмотры: 6929

Я так и предполагал, что про форум скажете. Наверно надо бы разработчикам компиляторов для МК собраться вместе и создать расширение стандарта С (С++) с учётом специфики области, вот тогда наша жизнь стала бы легче. В общем большое спасибо за общение, предлагаю тему закрыть.
Simba
Вт окт 07, 2008 22:11:18
Форум: Микроконтроллеры и ПЛИС
Тема: Пины и массив
Ответы: 26
Просмотры: 6929

Строгое соответствие стандарту нужно для облегчения переносимости кода, а если переносить код не нужно, то и соблюдение стандартов не особенно греет. Та что думаю однозначный ответ что лучше дать трудно. Мне больше нравится при создании программы делать меньше телодвижений. Даже копи-пасте. Ленивый ...
Simba
Вт окт 07, 2008 21:22:02
Форум: Микроконтроллеры и ПЛИС
Тема: Пины и массив
Ответы: 26
Просмотры: 6929

Может кому будет интересно, вот что я нарыл в хелпе к ImageCraft (он работает с пинами с помощью макросов, как IAR)

Some compilers support C extensions to access individual bits, such as using PORTA.2 to access bit 2 of the IO register PORTA. By definition, extensions are not portable to other ...
Simba
Вт окт 07, 2008 17:49:49
Форум: Микроконтроллеры и ПЛИС
Тема: Пины и массив
Ответы: 26
Просмотры: 6929

Поюзаю месяц триал, если понравится поставлю перед моей конторой вопрос о покупке, откажкт - буду думать. WinAvr отпугнул недружественным для меня интерфейсом . Я не линуксоид, и не хочется тратить время и силы на освоение "чуждой" идеологии.
Simba
Вт окт 07, 2008 17:17:21
Форум: Микроконтроллеры и ПЛИС
Тема: Пины и массив
Ответы: 26
Просмотры: 6929

Если умный CAVR ругается, то почему не сделать тупо, просто и надежно, как табуретка...

...
//////////////////////////////////////////////////
char pin_result=0;
char i=0; //counter
//////////////////////////////////////////////////
char pin_read(char pin_number) {
char result=0;
switch (pin ...
Simba
Вт окт 07, 2008 17:15:50
Форум: Микроконтроллеры и ПЛИС
Тема: Пины и массив
Ответы: 26
Просмотры: 6929

Вообще то я считаю, что компиляторы для МК должны затачиваться на удобство работы с портами, а CodeVision что - то не особо этим блещет по сравнению с другими. Придется видимо осваивать IAR, там с портами вроде тоже не очень, макросы какие-то, но считается более профессиональным, наверное глюков ...
Simba
Вт окт 07, 2008 16:17:02
Форум: Микроконтроллеры и ПЛИС
Тема: Пины и массив
Ответы: 26
Просмотры: 6929

не знаю, как там оно в PIC C делается, но можно сделать аналог так:
// описание нового типа "пин порта"
typedef struct{
char * port;
char mask;
} pin_struct;

// массив "пинов" разных портов
pin_struct pin_array[] = {
{&PINA, (1<<PA0)}, // нулевой бит порта А
{&PINB, (1<<PB4)}, // 4-й бит ...
Simba
Вт окт 07, 2008 15:01:03
Форум: Микроконтроллеры и ПЛИС
Тема: Пины и массив
Ответы: 26
Просмотры: 6929

В PICCC можно например так:
short const cannel[] ={PIN_G3, PIN_E1, PIN_H3, PIN_H2, PIN_H0, PIN_H1};
и всё.
Спасибо за ответ, попробую.
Simba
Вт окт 07, 2008 14:12:51
Форум: Микроконтроллеры и ПЛИС
Тема: Пины и массив
Ответы: 26
Просмотры: 6929

[quote=Изначально формулируйте яснее что Вы хотите получить в ответе.
Приведенные варианты отвечают на поставленный в первом посте вопрос, разве не так?
А сейчас Вы уже задали второй вопрос.
Я писал " чтобы опрашивать через изменение индекса". Приведённые вырианты разве делают это? По моему здесь ...
Simba
Вт окт 07, 2008 12:56:44
Форум: Микроконтроллеры и ПЛИС
Тема: Пины и массив
Ответы: 26
Просмотры: 6929

Пожалуйста внимательнее читайте вопрос. Я спрашивал не то как организовать опрос пинов одного порта а можно ли в CodeVisionAVR создать из пинов различных портов один массив чтобы обращатся к ним как к элементу массива. В PIC C Compiler это можно, а как в CodeVisionAVR?
Simba
Вт окт 07, 2008 03:35:23
Форум: Микроконтроллеры и ПЛИС
Тема: Пины и массив
Ответы: 26
Просмотры: 6929

Пины и массив

Подскажите пожалуйста как собрать пины в массив чтоб опрашивать через изменение индекса? В PIC C Compiler всё просто, а в CodeVisionAVR что - то не получается.

Перейти к расширенному поиску