Например TDA7294

Форум РадиоКот • Просмотр темы - Вопросы по С/С++ (СИ)
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 16:16:47

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 7581 ]     ... , , , 348, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 29, 2020 09:27:18 
Собутыльник Кота

Карма: 36
Рейтинг сообщений: 808
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2906
Рейтинг сообщения: 1
Код:
const char TelMesALARM[] PROGMEM = "$9 ALARM\r\n\0";
насчёт последнего символа у меня сомнения. Вроде, должен автоматически добавлятся.


Последний раз редактировалось BlackKilkennyCat Вт дек 29, 2020 09:29:51, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 29, 2020 09:28:37 
Вымогатель припоя

Карма: 22
Рейтинг сообщений: 114
Зарегистрирован: Пн июн 14, 2010 13:07:29
Сообщений: 630
Откуда: Жуковский
Рейтинг сообщения: 4
const char TelMesALARM[] PROGMEM = "$9 ALARM\r\n";
ps так и есть. автоматически


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 29, 2020 09:39:13 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Пт окт 21, 2011 14:39:31
Сообщений: 210
Рейтинг сообщения: 0
Спасибо!
А как с кавычками, одинарными и двойными?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 29, 2020 09:55:08 
Вымогатель припоя

Карма: 22
Рейтинг сообщений: 114
Зарегистрирован: Пн июн 14, 2010 13:07:29
Сообщений: 630
Откуда: Жуковский
Рейтинг сообщения: 0
я проверял под винду и линукс без PROGMEM:
const char s[] = "$9 ALARM\r\n";

ps сейчас под AVR скомпилировалось
const char s[] PROGMEM = "$9 ALARM\r\n";


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 29, 2020 10:03:26 
Собутыльник Кота

Карма: 36
Рейтинг сообщений: 808
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2906
Рейтинг сообщения: 0
А как с кавычками, одинарными и двойными?

Также экранировать при помощи \


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вт дек 29, 2020 10:52:05 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
А как с кавычками, одинарными и двойными?

На C++ можно даже так :)
Спойлер
Код:
const char* tree = R"===(
      *             ,
                       _/^\_
                      <     >
     *                 /.-.\         *
              *        `/&\`                   *
                      ,@.*;@,
                     /_o.I %_\    *
        *           (`'--:o(_@;
                   /`;--.,__ `')             *
                  ;@`o % O,*`'`&\
            *    (`'--)_@ ;o %'()\      *
                 /`;--._`''--._O'@;
                /&*,()~o`;-.,_ `""`)
     *          /`,@ ;+& () o*`;-';\
               (`""--.,_0 +% @' &()\
               /-.,_    ``''--....-'`)  *
          *    /@%;o`:;'--,.__   __.'\
              ;*,&(); @ % &^;~`"`o;@();         *
              /(); o^~; & ().o@*&`;&%O\
        jgs   `"="==""==,,,.,="=="==="`
           __.----.(\-''#####---...___...-----._
         '`         \)_`"""""`
                 .--' ')
               o(  )_-\
                 `"""` `
    )===";


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пт янв 08, 2021 19:26:52 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 1368
Зарегистрирован: Пт авг 28, 2009 21:34:30
Сообщений: 7214
Откуда: 845-й км.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
[звучит гонг!]Эй, народ, хватит засорять тему про stm8, когда обсуждается чисто С.

Вот научите молодого и зелёного. В своём проекте, я наконец избавился от одного кода ("из книжки") который не желал работать даже при минимальнейшей оптимизации. Поэтому я надавил тапок в пол (поставил максимальную оптимизацию) и... теперь уже с моим кодом проблема. Так вот, изучая тот фрагмент где происходит косяк, подумал, что одно копирование я мог бы сделать с помощью DMA. И вот вопрос, а как правильно оформить функцию? Вот тут пару страниц назад приводил заголовок моей функции, которая и конфигурирует этот трансфер. А не должны ли эти указатели теперь быть ссылками на волатильные массивы, чтобы дальнейший код не подумал что там вечно нули?

Пытаюсь сделать копирование массивов с использованием ПДП...
Код:
void copy_data_dma (uint8_t * src, uint8_t * dst, uint16_t count) {

_________________
А люди посмотрят и скажут: "Собаки летят. Вот и осень."


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пт янв 08, 2021 19:43:59 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
А не должны ли эти указатели теперь быть ссылками на волатильные массивы, чтобы дальнейший код не подумал что там вечно нули?
Не должны. Это просто адреса буферов.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пт янв 08, 2021 19:53:19 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 14
Зарегистрирован: Сб сен 19, 2009 07:02:19
Сообщений: 378
Рейтинг сообщения: 0
А не должны ли эти указатели теперь быть ссылками на волатильные массивы, чтобы дальнейший код не подумал что там вечно нули?
Не должны. Это просто адреса буферов.

Указатели, как и Цезарь, никому ничего не должны... Про "волатильные массивы" Вы откуда узнали? :-D И кто такой "Дальнейший код"?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пт янв 08, 2021 20:41:06 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 1368
Зарегистрирован: Пт авг 28, 2009 21:34:30
Сообщений: 7214
Откуда: 845-й км.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Вот конкретный код который не работает при "whole program optimization". При "Interprocedure optimization" - вроде работает. (не работает так: при нажатии кнопки DOWN - не выходит из цикла и цвета на launchpad_Output выдаёт неверные, например вместо желтого - синий. Вернее либо черный, либо синий - надо еще проверить функцию check_color. Но почему кнопка не срабатывает? во всех остальных аналогичных местах работает )
Код:
void TestColor(void) {
    uint16_t color_array[4] = {0, 0, 0, 0};
    unsigned int i;
    t_color field_test_color;

    ColorSensorTestHSI(color_array, 1);
    while (kbdread() != KEY_DOWN) {
        field_test_color = check_color();
        copy_data_dma((uint8_t *)color_sensors, (uint8_t *)color_array, sizeof(color_array));
        switch (field_test_color) {
            case red:       LaunchPad_Output(RED); break;
            case green:     LaunchPad_Output(GREEN); break;
            case blue:      LaunchPad_Output(BLUE); break;
            case yellow:    LaunchPad_Output(RED  | GREEN); break;
            case cyan:         LaunchPad_Output(BLUE | GREEN); break;
            case magenta:   LaunchPad_Output(BLUE | RED); break;
            case white:     LaunchPad_Output(BLUE | RED | GREEN); break;
            case black:     LaunchPad_Output(0x00); break;
        }
//        for (i=0; i<4; i++) {
//            color_array[i] = color_sensors[i];
//        }
        while(dma_copy_busy) WaitForInterrupt();
        ColorSensorTestHSI(color_array, 0);
    }
    LaunchPad_Output(0);
}

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

p.s. приложил дизасм - с кнопкой криминала не вижу.
Спойлер
Код:
276       void TestColor(void) {
          TestColor():
000064d8:   B510                push       {r4, r14}
277          uint16_t color_array[4] = {0, 0, 0, 0};
000064da:   2100                movs       r1, #0
000064dc:   2208                movs       r2, #8
000064de:   F1AD0D08            sub.w      r13, r13, #8
000064e2:   4668                mov        r0, r13
000064e4:   F004FD6C            bl         memset
281          ColorSensorTestHSI(color_array, 1);
000064e8:   2101                movs       r1, #1
000064ea:   4668                mov        r0, r13
000064ec:   F7FEF900            bl         ColorSensorTestHSI
282          while (kbdread() != KEY_DOWN) {
000064f0:   F004F92E            bl         kbdread
000064f4:   2804                cmp        r0, #4
000064f6:   D044                beq        $C$L64
000064f8:   F24914E8            movw       r4, #0x91e8
000064fc:   F2C20400            movt       r4, #0x2000
283              field_test_color = check_color();
          $C$L54:
00006500:   F000FBCE            bl         check_color
285             switch (field_test_color) {
00006504:   2807                cmp        r0, #7
00006506:   D826                bhi        $C$L63
00006508:   E8DFF000            tbb        [pc, r0]
          $C$C342, $C$SW1:
0000650c:   1E22                subs       r2, r4, #0
0000650e:   161A                asrs       r2, r3, #0x18
00006510:   0E12                lsrs       r2, r2, #0x18
00006512:   060A                lsls       r2, r1, #0x18
00006514:   EA4F0808            mov.w      r8, r8
292                case white:     LaunchPad_Output(BLUE | RED | GREEN); break;
          $C$L55:
00006518:   2007                movs       r0, #7
0000651a:   F004FB5D            bl         LaunchPad_Output
0000651e:   E01A                b          $C$L63
290                case cyan:       LaunchPad_Output(BLUE | GREEN); break;
          $C$L56:
00006520:   2006                movs       r0, #6
00006522:   F004FB59            bl         LaunchPad_Output
00006526:   E016                b          $C$L63
291                case magenta:   LaunchPad_Output(BLUE | RED); break;
          $C$L57:
00006528:   2005                movs       r0, #5
0000652a:   F004FB55            bl         LaunchPad_Output
0000652e:   E012                b          $C$L63
288                case blue:      LaunchPad_Output(BLUE); break;
          $C$L58:
00006530:   2004                movs       r0, #4
00006532:   F004FB51            bl         LaunchPad_Output
00006536:   E00E                b          $C$L63
289                case yellow:    LaunchPad_Output(RED  | GREEN); break;
          $C$L59:
00006538:   2003                movs       r0, #3
0000653a:   F004FB4D            bl         LaunchPad_Output
0000653e:   E00A                b          $C$L63
287                case green:     LaunchPad_Output(GREEN); break;
          $C$L60:
00006540:   2002                movs       r0, #2
00006542:   F004FB49            bl         LaunchPad_Output
00006546:   E006                b          $C$L63
286                case red:       LaunchPad_Output(RED); break;
          $C$L61:
00006548:   2001                movs       r0, #1
0000654a:   F004FB45            bl         LaunchPad_Output
0000654e:   E002                b          $C$L63
293                case black:     LaunchPad_Output(0x00); break;
          $C$L62:
00006550:   2000                movs       r0, #0
00006552:   F004FB41            bl         LaunchPad_Output
296                color_array[i] = color_sensors[i];
          $C$L63:
00006556:   8820                ldrh       r0, [r4]
00006558:   F8B4E002            ldrh.w     r14, [r4, #2]
0000655c:   F8AD0000            strh.w     r0, [r13]
299             ColorSensorTestHSI(color_array, 0);
00006560:   2100                movs       r1, #0
296                color_array[i] = color_sensors[i];
00006562:   F8B4C004            ldrh.w     r12, [r4, #4]
00006566:   F8ADE002            strh.w     r14, [r13, #2]
0000656a:   88E3                ldrh       r3, [r4, #6]
0000656c:   F8ADC004            strh.w     r12, [r13, #4]
299             ColorSensorTestHSI(color_array, 0);
00006570:   4668                mov        r0, r13
296                color_array[i] = color_sensors[i];
00006572:   F8AD3006            strh.w     r3, [r13, #6]
299             ColorSensorTestHSI(color_array, 0);
00006576:   F7FEF8BB            bl         ColorSensorTestHSI
282          while (kbdread() != KEY_DOWN) {
0000657a:   F004F8E9            bl         kbdread
0000657e:   2804                cmp        r0, #4
00006580:   D1BE                bne        $C$L54
301          LaunchPad_Output(0);
          $C$L64:
00006582:   2000                movs       r0, #0
00006584:   F004FB28            bl         LaunchPad_Output
00006588:   B002                add        r13, #8
0000658a:   BD10                pop        {r4, pc}
0000658c:   EA4F0808            mov.w      r8, r8

_________________
А люди посмотрят и скажут: "Собаки летят. Вот и осень."


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пт янв 08, 2021 21:25:53 
Грызет канифоль

Карма: 9
Рейтинг сообщений: 80
Зарегистрирован: Чт ноя 06, 2014 13:09:06
Сообщений: 251
Рейтинг сообщения: 0
В
Копирование через ПДП я применил взамен закоментированного фрагмента.

Смотреть лень, но я попытаюсь :-) если Вы объясните в чем "Профит" от заряжания DMA для копирования 8-ми байтов?
Кэш включен? Если включен, он инвалидируется в функции копирования?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пт янв 08, 2021 21:59:31 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 1368
Зарегистрирован: Пт авг 28, 2009 21:34:30
Сообщений: 7214
Откуда: 845-й км.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Ой. не пытайтесь - не нужно. вы мне ничем не обязаны.

Похоже, что ошибка где-то в i2c коде, так как и клавиатура, и цветовой сенсор работают через эту шину. и я вижу, что при считывании зелёный канал даёт отличающиеся от других каналов данные (стабильно неменяющиеся). Так что приведенный код работает без проблем. Проблема глубже.

Добавлено after 29 minutes:
solved:
Угу. оказалась бяка - спутал волатильный указатель с указателем на волатильную переменную. Написал второе, а надо было первое.
Код:
unsigned char * volatile data_ptr;

_________________
А люди посмотрят и скажут: "Собаки летят. Вот и осень."


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт янв 14, 2021 19:32:30 
Опытный кот
Аватар пользователя

Карма: 10
Рейтинг сообщений: 77
Зарегистрирован: Пт фев 27, 2015 12:00:53
Сообщений: 781
Откуда: Рязанская область
Рейтинг сообщения: 0
поделитесь опытом :shock:
как можно случайное число получить (желательно с примером в CodeVisionAVR)
я делаю так
speed=rand()%4+1; // случайное число от 1 до 4
speed=speed*100;
delay_ms(speed);
но видна закономерность в эффектах...

а как надо? желательно попроще и поподробнее!

в интернете пишут Использование наводок от АЦП. типа на ножку припаять маленькую антенну...
но никто толком не пишет как это программе описать CodeVisionAVR.

А ВЫ КАК ДЕЛАЕТЕ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт янв 14, 2021 20:11:50 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 1
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
я поседнее время делаю так: сразу после старта, еще до того, как выполнится код, очищающий всю статическую память переменных, делаю CRC-подсчет по всей доступной памяти, и это число использую в качестве параметра функции srand. поскольку после подачи питания память устанавливается в непредсказуемое значение, этот метод даёт неплохое начальное распределение случайных чисел - можете сами убедиться по моему плейеру эффектов: при каждом включении питания стартует случайный файл.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт янв 14, 2021 20:20:00 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Можно запустить таймер на максимальную скорость и считывать значения его счётных регистров.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт янв 14, 2021 20:25:14 
Говорящий с текстолитом
Аватар пользователя

Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00
Сообщений: 1572
Откуда: Лен.Обл.
Рейтинг сообщения: 0
Цитата:
как можно случайное число получить (желательно с примером в CodeVisionAVR)


Я так понял, N*rand()/RAND_MAX не подходит? Почему?
Но если уж так хочется поиграться, то есть разные алгоритмы. Например, автомат Вольфрама с правилом 30 даёт отличную случайную последовательность бит.

_________________
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт янв 14, 2021 20:28:59 
Опытный кот
Аватар пользователя

Карма: 10
Рейтинг сообщений: 77
Зарегистрирован: Пт фев 27, 2015 12:00:53
Сообщений: 781
Откуда: Рязанская область
Рейтинг сообщения: 0
ребята я на этой планете живу :facepalm: попроще ....

я поседнее время делаю так: сразу после старта, еще до того, как выполнится код, очищающий всю статическую память переменных, делаю CRC-подсчет по всей доступной памяти, и это число использую в качестве параметра функции srand. поскольку после подачи питания память устанавливается в непредсказуемое значение, этот метод даёт неплохое начальное распределение случайных чисел - можете сами убедиться по моему плейеру эффектов: при каждом включении питания стартует случайный файл.


полностью согласен, :shock: но уровень не мой :)))
желательно попроще и поподробнее! желательно с примером в CodeVisionAVR :facepalm:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт янв 14, 2021 22:28:52 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Serzh2000 писал(а):
желательно попроще и поподробнее!
проще некуда.
Serzh2000 писал(а):
с примером в CodeVisionAVR
а вот с этим никак, ибо использую только avr-gcc (WinAVR).

в общем и целом как-то так:
Код:
unsigned char *ptr = (void*)0;
int sum = 0;

for(int i=0; i < MAXRAM; ptr++) sum = calc_crc_1wire(sum, *ptr);

srand(sum);
MAXRAM - это максимальный адрес доступного RAM в выбраном МК, а clc_crc_1wire - это функция вычисления CRC по алгоритму 1-wire, можно и по любому иному алгоритму, но этот самый известный и в CVAVR тоже по идее должен быть в библиотеке...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт янв 14, 2021 22:32:47 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
Serzh2000, как уже уже сказали - чтобы rand() не работал при каждом включении одинаково, нужно прежде srand() вызывать. При каждом включении - с новым аргументом seed.
ARV для этого seed ОЗУ вычитывает. Я в одном из своих проектов при выключении записывал результат rand () в eeprom, и использовал его как seed при следующем включении.
Да и другие варианты получения нового значения seed при включении питания вполне можно придумать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пт янв 15, 2021 07:40:06 
Держит паяльник хвостом

Карма: 10
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 941
Рейтинг сообщения: 0
Я в одном из своих проектов при выключении записывал результат rand () в eeprom, и использовал его как seed при следующем включении.

Аналогично. Наиболее просто.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 7581 ]     ... , , , 348, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y