Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Страница 111 из 223 ПерваяПервая ... 1161101108109110111112113114121161211 ... ПоследняяПоследняя
Показано с 1,101 по 1,110 из 2227

Тема: ARDUINO

  1. #1101

    Регистрация
    23.07.2010
    Адрес
    ЕАО с.Белгородское
    Сообщений
    1,974
    Записей в дневнике
    2
    Позывной
    UD0DAB exUD0CAJ
    Цитата Сообщение от R2DHG Посмотреть сообщение
    Ну это вы сами придумали CRC считать
    Странно что первый байт равен 845! Не может он таким быть!
    Перезалил скетч, прописал в начале процедуры int crc=0; и стало похоже на правду

    memwrite start

    100
    100
    320
    320
    544
    666
    695
    695
    943
    1093
    1100
    1100
    1132
    1293
    1300
    1300
    1312
    1498
    1500
    1500
    1501
    CRC 1501 5 21Byte
    94 Ms
    Да я даже на каком-то копирайт-ресурсе видел статейку про работу с еепром в ардуине и вот что написано!

    А ведь ситуация, когда в EEPROM могут оказаться недостоверные данные вполне реальная.

    • При первом включении устройства данные в EEPROM недостоверны. Их просто никто еще не задавал.
    • В момент записи данных в EEPROM может отключиться питание платы и тогда часть данных запишется, а часть не успеет.
    • EEPROM имеет ограниченное число циклов записи, и это свойство также может привести к разрушению данных в этой памяти.

    Поэтому крайне важно быть уверенными, что в EEPROM хранятся достоверные данные. В случае, если они ошибочны, программа должна принять определенные действия.
    Хочу красиво!


  2. #1102
    Цитата Сообщение от UD0CAJ Посмотреть сообщение
    Да я даже на каком-то копирайт-ресурсе видел статейку про работу с еепром в ардуине и вот что написано!
    Все что там написано, актуально для космического корабля, а не для синтезатора трансивера. Новый Ардуино, если в ЕЕПРОМ ничего не писали, содержит в ЕЕПРОМ нули.

  3. #1103

    Регистрация
    23.07.2010
    Адрес
    ЕАО с.Белгородское
    Сообщений
    1,974
    Записей в дневнике
    2
    Позывной
    UD0DAB exUD0CAJ
    Цитата Сообщение от Владимир_К Посмотреть сообщение
    актуально для космического корабля
    Все фунциклирует! Все сделал! Всем спасибо за помощь! Сохраняет все как надо! А главное, если в структуру добавлять/убирать переменные, все тоже работает! Гибкость же! Вдруг захочется плюшек добавить/убрать. Еще впереди менюшка настроек!

  4. #1104
    Да будет работать. Но, к чему определять контрольную сумму? В ЕЕПРОМ пусть даже мусор записан будет. Если Вы знаете, что там мусор, тогда, до включения питания, нажимаете какую-нибудь кнопку. Включаете питание. При запуске программы обнаружив нажатую кнопку, программа запишет в ЕЕПРОМ "дефолтные" настройки. А дальше уже, при выключении, будет писать последние. И если там не совпадет контрольная сумма, трагедии не будет. В синтезаторе есть много других проблемных мест, с которыми придется бороться. И если на выходе синтезатора есть сигнал, на индикаторе меняются цифры и, вроде все хорошо, разочарование может наступить при первом включении трансивера.

    Цитата Сообщение от UD0CAJ Посмотреть сообщение
    Гибкость же!
    Для гибкости есть флаговый автомат или диспетчер. Вот там получается нужная гибкость (хотя, пока сам толком не разобрался с этим делом).
    Последний раз редактировалось Владимир_К; 11.11.2017 в 19:44.

  5. #1105

    Регистрация
    23.07.2010
    Адрес
    ЕАО с.Белгородское
    Сообщений
    1,974
    Записей в дневнике
    2
    Позывной
    UD0DAB exUD0CAJ
    Трансивер уже пашет. Я под Готовое Железо пишу код Это синтезатор для Карат-2Н

  6. #1106
    UD0CAJ, прочитав Ваше сообщение о подсчете контрольной суммы, не поверил, что на это нужно порядка 100 мсек, ну не может 21 байт столько времени складываться, поэтому решил проверить в отладчике. Получилось, что чисто по Вашему тексту цикл подсчета crc занимает 188 тактов процика, что при 8 мгц занимает 23,5 мксек, а если crc, i, varsize объявить как byte, то получится 167 тактов, т.е. 20,8 мксек.
    Ну и по сохранности данных еепром почитайте в даташите на процик про фьюзы BODEN,BODLEVEL. Выставив BODLEVEL в нужном диапазоне практически 100% защитите данные от перепадов напряжения.
    Да, почитайте еще про union, тоже интересная вещь в Си, позволяющая к одной и той же области памяти обращаться как к разным типам данных.

  7. #1107

    Регистрация
    23.07.2010
    Адрес
    ЕАО с.Белгородское
    Сообщений
    1,974
    Записей в дневнике
    2
    Позывной
    UD0DAB exUD0CAJ
    По времени записи - я уже увидел ошибку - я же в порт сливал каждый шаг при подсчете CRC. Поубирал отладочный вывод в сериал - полная процедура сохранения 23 байт информации с подсчетом и записью в епром занимает 10 миллисекунд. Ну так мне сообщает МК.

  8. #1108

    Регистрация
    28.04.2005
    Адрес
    Московская обл., г. Мытищи
    Сообщений
    3,920
    Позывной
    ex RW3DKC
    Цитата Сообщение от UD0CAJ Посмотреть сообщение
    Еще впереди менюшка настроек!
    Оставьте место для CAT или там RIT, а то с такими плюшками быстро кончится и придется перейти на 2560

  9. #1109

    Регистрация
    23.07.2010
    Адрес
    ЕАО с.Белгородское
    Сообщений
    1,974
    Записей в дневнике
    2
    Позывной
    UD0DAB exUD0CAJ
    CAT в этом аппарате не будет - стоит ардуинка без USB а городить TTL-USB переходник я не буду - к ним личная неприязнь! USB как 15 лет есть а трансиверы до сих пор городят с кучей проводов и переходников!!! Ненавижу!!! .
    RIT возможно, но никогда им не работал.. IF-SHIFT будет обязательно!


  10. #1110
    UD0CAJ, А5 неверная оценка.
    eeprom_write_byte (&EEMEM_crc,crc); //занимает 29 тактов


    цикл
    for (i=0;i < varsize;i++ )
    {
    eeprom_write_byte ((uint8_t *)(&EEMEM_varinfo+i) ,*(adr + i));
    }
    требует 776 тактов, что в сумме при 8мгц занимает 0,1 мсек

Страница 111 из 223 ПерваяПервая ... 1161101108109110111112113114121161211 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)

Ваши права

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