iar stm8
22.09.2015, 07:59
|
|
|
Гражданин KAZUS.RUN
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: iar stm8
Сообщение от picavr
|
|
А какая разница... коменты ж есть...
|
Дело ведь не только в комментариях. У вас есть гарантия, что те цифры, которые вы написали, будут соответствовать комментариям? Вы вычисляете все числа вручную и легко можно сделать ошибку. Особенно тогда, когда таких вычислений много и человек устает. Когда вы определяете числа символически, то вычисления производятся транслятором, который ошибок не делает. Или нет?
|
|
|
|
22.09.2015, 08:08
|
|
|
Гражданин KAZUS.RUN
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: iar stm8
Сообщение от gromovi
|
|
читаемость вашего варианта лучше. но и альтернатива вполне приемлема, когда для себя или рабочий вариант, когда ,себе любимому, комменты уже не нужны. как я полагаю и есть?
|
Ну так, опять же, вы себе любимы на данный момент времени. Через неделю, месяц вы станете уже другим. А тот, другой, будет долго думать и разбираться, что же этот гада там понаписал. Да и потом, рабочий вариант только до поры до времени является рабочим. Гораздо проще переносить в чистовую программу целиком законченные коды, нежели наброски, и потом тратить время на их редактирование. Или нет?
|
|
|
|
22.09.2015, 21:25
|
|
|
Заблокирован
Регистрация: 12.09.2009
Сообщений: 420
Сказал спасибо: 148
Сказали Спасибо 166 раз(а) в 118 сообщении(ях)
|
Re: iar stm8
Сообщение от Bill
|
|
Гораздо проще переносить в чистовую программу целиком законченные коды, нежели наброски, и потом тратить время на их редактирование.
|
согласен, когда речь идет о коде, а не пробном ногодрыге - свистоперделке.
|
|
|
|
22.09.2015, 21:27
|
|
|
Заблокирован
Регистрация: 12.09.2009
Сообщений: 420
Сказал спасибо: 148
Сказали Спасибо 166 раз(а) в 118 сообщении(ях)
|
Re: iar stm8
Сообщение от STM32F0
|
|
Особенно этим славятся упоротые недоПиСишники, которых нечистая занесла в эмбедд.
|
в чей огород камень? только честно.
|
|
|
|
23.09.2015, 01:32
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
|
Re: iar stm8
Сообщение от STM32F0
|
|
типа "щастье то какое!
|
а микрочип сожрал микрел
|
|
|
|
23.09.2015, 18:00
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,815
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Re: iar stm8
Сообщение от Bill
|
|
Вы вычисляете все числа вручную.
|
А зачем вручную? это прекрасно делает и компилятор... Или нет?
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
|
|
|
|
24.09.2015, 07:16
|
|
|
Гражданин KAZUS.RUN
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: iar stm8
Сообщение от picavr
|
|
А зачем вручную? это прекрасно делает и компилятор... Или нет?
|
Хм...
А это что, тоже сделал компилятор?
|
Код:
|
TIM4-›IER = 0x01; //прерывание по переполнению включить
TIM4-›CR1 = 0x81; //включение TIM4 + автозагрузка включить |
Что за цифры 0x01 и 0x81? Откуда они взялись?
|
|
|
|
14.10.2015, 00:38
|
|
|
Временная регистрация
Регистрация: 12.03.2005
Адрес: Москва
Сообщений: 61
Сказал спасибо: 42
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: iar stm8
IAR, STM8S105.
Есть три массива различной длины, которые, в зависимости от ситуации, надо расположить в ОЗУ по указателю *Buff.
|
PHP код:
|
u8 Data; // Выводимые на экран данные.
u8 Num_Screen; // Номер экрана в массиве Screen.
char *Buff; // Указатель на массив отображаемого в данный момент кадра.
char Buffer_LCD [32];
char __near *Scrn; // Указатель на массив кадров экрана LCD.
char __near Screen_1 [4][32] = {{"0 1 2 3 4 5 6 7 8 9 A B C D E F"},
{"0 1 2 3 4 5 6 7 8 9 A B C D E F"}, {"0 1 2 3 4 5 6 7 8 9 A B C D E F"},
{"0 1 2 3 4 5 6 7 8 9 A B C D E F"}};
char __near Screen_2 [3][32] = {{"0 1 2 3 4 5 6 7 8 9 A B C D E F"},
{"0 1 2 3 4 5 6 7 8 9 A B C D E F"}, {"0 1 2 3 4 5 6 7 8 9 A B C D E F"}};
char __near Screen_3 [2][32] = {{"0 1 2 3 4 5 6 7 8 9 A B C D E F"},
{"0 1 2 3 4 5 6 7 8 9 A B C D E F"}};
// Загрузка буфера дисплея
void Load_Buffer (u8 Num_Screen)
{
Scrn = &Screen_1[Num_Screen][0]; // Начальный адрес кадра LCD.
Buff = &Buffer_LCD [0]; // Начальный адрес буфера LCD.
for (u8 i=0; i‹32; i++) *Buff++ = *Scrn++; // Копировать кадр в буфер.
}
|
Функция Load_Buffer (); выполняет эту задачу лишь для массива Screen_1.
Как изменить эту функцию, чтобы сделать её универсальной для всех трёх массивов?
Последний раз редактировалось sergeyye; 14.10.2015 в 01:08.
|
|
|
|
14.10.2015, 07:29
|
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
|
Re: iar stm8
Для универсальности нужно из трех массивов сделать один, трехмерный.
А можно через массив указателей на указатели. (Имя массива это указатель на массив). Но это не добавит читаемости программе.
Проще один, двухмерный, общий.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
Последний раз редактировалось akegor; 14.10.2015 в 07:52.
|
|
|
|
14.10.2015, 08:10
|
|
|
Гражданин KAZUS.RUN
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: iar stm8
Сообщение от sergeyye
|
Функция Load_Buffer (); выполняет эту задачу лишь для массива Screen_1.
Как изменить эту функцию, чтобы сделать её универсальной для всех трёх массивов?
|
Наверное так
|
Код:
|
// Загрузка буфера дисплея
void Load_Buffer (u8 Num_Screen, char *Buff)
{
Scrn = &Screen_1[Num_Screen][0]; // Начальный адрес кадра LCD.
for (u8 i=0; i‹32; i++) *Buff++ = *Scrn++; // Копировать кадр в буфер.
} |
Или нет?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:42.
|
|