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

grachevvlad2023
Вт дек 05, 2023 11:36:11
Форум: Теория
Тема: Логирование из микроконтроллера в компьютере
Ответы: 10
Просмотры: 1408

Логирование из микроконтроллера в компьютере

Здравствуйте. Нужен совет и если можно с примерами.
Логика задачи такова. Не обходимо реализовать следующую логику в железе. Имеем три блока на микроконтроллерах atmega8 с уникальными ID в каждом из которых установлена кнопка. Передача состояния кнопки осуществляется через интерфейс RS485 компьютеру ...
grachevvlad2023
Ср ноя 08, 2023 11:13:25
Форум: AVR
Тема: Оптимизация кода на С, возможно ли для этого кода?
Ответы: 22
Просмотры: 5426

Re: Оптимизация кода на С, возможно ли для этого кода?

На симуляторе работает отлично. Железо уже заказал. Как прибудет, буду тестировать на ней.
grachevvlad2023
Ср ноя 08, 2023 10:50:42
Форум: AVR
Тема: Оптимизация кода на С, возможно ли для этого кода?
Ответы: 22
Просмотры: 5426

Re: Оптимизация кода на С, возможно ли для этого кода?

[uquote="Martian",url="/forum/viewtopic.php?p=4499500#p4499500"]. Осознал, что я зря потратил время...[/uquote]
Почему зря?
Даже не знаю как Вас благодарить. Сейчас применил Ваш код. И он сработал именно так как и ожидалось. Общее количество строк 161. Спасибо Вам огромное за терпение и помощь.
grachevvlad2023
Ср ноя 08, 2023 10:44:48
Форум: AVR
Тема: Оптимизация кода на С, возможно ли для этого кода?
Ответы: 22
Просмотры: 5426

Re: Оптимизация кода на С, возможно ли для этого кода?

Прикрепил видео работы устройства. http://youtu.be/W4kk08vahJY Здесь функция send(); отрабатывает до однократного мигания светодиода под лейблом "1" после того как отработает "#", затем идут три символа из конструкции switch, после чего работает функция end();
Так же прикрепил немного ...
grachevvlad2023
Ср ноя 08, 2023 10:17:07
Форум: AVR
Тема: Оптимизация кода на С, возможно ли для этого кода?
Ответы: 22
Просмотры: 5426

Re: Оптимизация кода на С, возможно ли для этого кода?

[uquote="Martian",url="/forum/viewtopic.php?p=4499336#p4499336"]ну, это и есть 1% - я ж досконально не знаю алгоритма...[/uquote]
Как отправить Вм видео файл работы устройства? Вы бы смогли понять алгоритм..
grachevvlad2023
Вт ноя 07, 2023 22:21:06
Форум: AVR
Тема: Оптимизация кода на С, возможно ли для этого кода?
Ответы: 22
Просмотры: 5426

Re: Оптимизация кода на С, возможно ли для этого кода?

[uquote="Martian",url="/forum/viewtopic.php?p=4499315#p4499315"]что-то странное и очень много.
Рискну утверждать, что ниже приведенный код из 154 строк эквивалентен начальному на 99%[/uquote]
Проверил Ваш код. При вводе 1012, или 1058 отрабатывает 1 и 0, при вводе 1100 отрабатывает 1 и 1. Два ...
grachevvlad2023
Вт ноя 07, 2023 21:21:17
Форум: AVR
Тема: Оптимизация кода на С, возможно ли для этого кода?
Ответы: 22
Просмотры: 5426

Re: Оптимизация кода на С, возможно ли для этого кода?

Используя Ваши подсказки и советы, за что Вам премного благодарен, немного переписал код и теперь он состоит только из 651 строк против начальных ~2900.:
#define F_CPU 32000000UL // Определение тактовой частоты для функций задержки
#include <inttypes.h> // Библиотека для работы с типами int ...
grachevvlad2023
Вс ноя 05, 2023 22:03:04
Форум: AVR
Тема: Оптимизация кода на С, возможно ли для этого кода?
Ответы: 22
Просмотры: 5426

Re: Оптимизация кода на С, возможно ли для этого кода?

[uquote="Martian",url="/forum/viewtopic.php?p=4498458#p4498458"]если я правильно понял алгоритм, то весь это громадный switch сокращается[/uquote]
Почти да, но в Вашем коде комбинация от 0 до 9. А в моём от 1001 до 1100.
Спасибо за подсказки и советы.

ЗЫ: а вот над этим {
selectKey(arr1[buttons ...
grachevvlad2023
Вс ноя 05, 2023 21:18:39
Форум: AVR
Тема: Оптимизация кода на С, возможно ли для этого кода?
Ответы: 22
Просмотры: 5426

Re: Оптимизация кода на С, возможно ли для этого кода?

[uquote="Martian",url="/forum/viewtopic.php?p=4498440#p4498440"]эта комбинация как формируется?...[/uquote]
Прикрепил схему.
Функция send(); поочерёдно включает комбинацию светодиодов RES-PRI-TOT-CALL-0-OK-1.
Затем поочередно включает последовательность набранной комбинации с клавиатуры. Оно может ...
grachevvlad2023
Вс ноя 05, 2023 20:55:09
Форум: AVR
Тема: Оптимизация кода на С, возможно ли для этого кода?
Ответы: 22
Просмотры: 5426

Re: Оптимизация кода на С, возможно ли для этого кода?

[uquote="Martian",url="/forum/viewtopic.php?p=4498426#p4498426"]...но без алгоритма такую портянку оптимизировать - только за деньги.
..[/uquote]

В этом коде при наборе комбинации от 1001 до 1100 происходит последовательное включение светодиодов в определенном порядке. С начало идёт включение по ...
grachevvlad2023
Вс ноя 05, 2023 20:23:39
Форум: AVR
Тема: Оптимизация кода на С, возможно ли для этого кода?
Ответы: 22
Просмотры: 5426

Оптимизация кода на С, возможно ли для этого кода?

Всем привет. Можно ли как то оптимизировать и сократить этот код? У кого какие идеи? А то что то громоздкий получился.
#define F_CPU 32000000UL
#include <inttypes.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>
#include <util/delay.h>
#include "keyboard.h"
#include "lcd_lib ...
grachevvlad2023
Вт окт 17, 2023 17:24:55
Форум: AVR
Тема: Запись значения нажатой кнопки в массив
Ответы: 24
Просмотры: 8010

Re: Запись значения нажатой кнопки в массив

[uquote="Martian",url="/forum/viewtopic.php?p=4489899#p4489899"] grachevvlad2023 , я решил не передавать пустые ячейки.....[/uquote]

Спасибо что откликнулись и помогли советами. В данное время рисую рабочую схему, затем закажу изготовление плат. Хочу продолжить уже в железе, протеус временами ...
grachevvlad2023
Пн окт 16, 2023 16:20:09
Форум: AVR
Тема: Запись значения нажатой кнопки в массив
Ответы: 24
Просмотры: 8010

Re: Запись значения нажатой кнопки в массив

[uquote="Martian",url="/forum/viewtopic.php?p=4489859#p4489859"] OKF , ну, может, глядя на примеры, что-то стронется в голове.[/uquote]
Как то странно работает этот код.
1-2-3-4 не передаётся. только 1-2-3. При первой отправке в терминале 123, При второй отправке 23, При третьей отправке 3, при ...
grachevvlad2023
Пн окт 16, 2023 15:31:51
Форум: AVR
Тема: Запись значения нажатой кнопки в массив
Ответы: 24
Просмотры: 8010

Re: Запись значения нажатой кнопки в массив

[uquote="Martian",url="/forum/viewtopic.php?p=4489832#p4489832"]неправильно.
если пятым нажатием будет какая-то кнопка не "*", будет ошибка.
и будет ошибка при k = 4, так как if(k<5) это значение пропустит, но 4 - это пятый элемент, а массив всего из четырёх. В общем, всё, что писал выше - напрасно ...
grachevvlad2023
Пн окт 16, 2023 13:57:40
Форум: AVR
Тема: Запись значения нажатой кнопки в массив
Ответы: 24
Просмотры: 8010

Re: Запись значения нажатой кнопки в массив

Немного подправил по свету Martian ,
while(1)
{

key = GetKey(); //если зафиксировано нажатие,


if ((key)&&(key!='*'))
{
buttons[k] = key; // сохраняем значение кнопки в массиве
k = k + 1; // увеличиваем счётчик нажатий на 1
}
if(key == '*')
{
if(k<5)
{
for(j=0; j<k; j++)
{
USART ...
grachevvlad2023
Вс окт 15, 2023 19:11:13
Форум: AVR
Тема: Запись значения нажатой кнопки в массив
Ответы: 24
Просмотры: 8010

Re: Запись значения нажатой кнопки в массив

[uquote="Martian",url="/forum/viewtopic.php?p=4489573#p4489573"]а если пятый раз нажать, что будет со счётчиком и последующей адресацией к массиву? стоит проверить, что счётчик не превышает размерность массива, или изначально не допустить превышения.[/uquote]
Да, столкнулся с проблемой описанный ...
grachevvlad2023
Вс окт 15, 2023 17:57:06
Форум: AVR
Тема: Запись значения нажатой кнопки в массив
Ответы: 24
Просмотры: 8010

Re: Запись значения нажатой кнопки в массив

[uquote="veso74",url="/forum/viewtopic.php?p=4489542#p4489542"]попробуйте

Код: Выделить всё

for(j=0; j<4; j++) ... 
на

Код: Выделить всё

for(j=0; j<k; j++) ... 
[/uquote]

Спасибо. Сработало.
grachevvlad2023
Вс окт 15, 2023 17:17:04
Форум: AVR
Тема: Запись значения нажатой кнопки в массив
Ответы: 24
Просмотры: 8010

Re: Запись значения нажатой кнопки в массив

Внёс следующие изменения в код:


int main( void )
{
unsigned char key;
char buttons[4]; // массив нажатых кнопок
int k = 0; // счетчик нажатий
int j;

...............
...............
...............
while(1){
//если зафиксировано нажатие,

key = GetKey();
if ((key)&&(key!= '*')){

buttons ...
grachevvlad2023
Сб окт 14, 2023 19:34:01
Форум: AVR
Тема: Запись значения нажатой кнопки в массив
Ответы: 24
Просмотры: 8010

Re: Запись значения нажатой кнопки в массив

Код писал не я, в заголовке указан источник. // Author(s)...: Pashgan http://ChipEnable.Ru
В массиве будет 4 числа.
переменная типа int.
По логике, при нажатии кнопки первый символ должен записаться в массив, при нажатии второй кнопки нужно проверить свободен ли нулевой адрес массива, если нет то ...
grachevvlad2023
Пт окт 13, 2023 08:22:16
Форум: AVR
Тема: Запись значения нажатой кнопки в массив
Ответы: 24
Просмотры: 8010

Запись значения нажатой кнопки в массив

Здравствуйте. Есть код опроса матричной клавиатуры. Работает отлично. Но в нем нажатая кнопка отправляется по символьно через UART. У меня же задача записать каждый символ в массив и считать этот массив в переменную в виде числа. Но как это сделать, не пойму. В интернете много тем с таким же ...

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