Например TDA7294

 Форум РадиоКот • Просмотр темы - Програмирование pic на СИ.
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Пн июл 16, 2018 21:26:54



Часовой пояс: UTC + 3 часа [ Летнее время ]


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



Начать новую тему Ответить на тему  [ Сообщений: 976 ]  На страницу Пред.  1 ... 45, 46, 47, 48, 49  След.
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Сб дек 16, 2017 20:39:00 
Открыл глаза

Зарегистрирован: Вс май 28, 2017 20:07:32
Сообщений: 56
Рейтинг сообщения: 0
Да, с этим уже разобрался, спасибо!

А как перевести из float в int / unsigned int?

2.5*(5.0*ADRESH/(256.0)) - 1.0; - Вот это хотел бы перевести в int.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Сб дек 16, 2017 22:34:24 
Друг Кота
Аватар пользователя

Карма: 102
Зарегистрирован: Чт янв 10, 2008 23:01:02
Сообщений: 13955
Откуда: Московская область
Рейтинг сообщения: 0
Вы занимаетесь отчаянной ерундой.
Никакого флоата не требуется.
Вы пытаетесь считать на МК как на калькуляторе. Это совершенно пустое мероприятие.
Для чего Вам нужны вольты?


Вернуться наверх
 Профиль  
 
JLCPCB, 10 прототипов ПП всего за $2 и 2 дня доставка!

Крупнейший производитель печатных плат в Китае, 300,000+ заказчиков, 10,000+ он-лайн заказов в день.

Рассчитайте цену онлайн:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Сб дек 16, 2017 23:07:46 
Открыл глаза

Зарегистрирован: Вс май 28, 2017 20:07:32
Сообщений: 56
Рейтинг сообщения: 0
Поясняю, для чего:

Я через вольты написал приблизительную функцию для нажатой клавиши:

0,4 В - 0
0,8 В - 1
и так далее.

Но увы, придется нажатие клавиш разных чисто через ADRESH обрабатывать, что некрасиво, увы.

P.S. Есть гайд небольшой, по работе с LCD? (lm016l - если конкретно).


Последний раз редактировалось SpeedFighter Сб дек 16, 2017 23:41:33, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Сб дек 16, 2017 23:37:13 
Друг Кота
Аватар пользователя

Карма: 102
Зарегистрирован: Чт янв 10, 2008 23:01:02
Сообщений: 13955
Откуда: Московская область
Рейтинг сообщения: 0
Это апокалиптический бред.
Вместо внятного дефайна константы сравнения Вы считаете никому не нужный флоат.
Уважаемый, Вам бы основы программирования почитать, прежде чем писать код...
ЗЫ. Вывод на дисплей тоже не требует флоата. На дисплей выводят ДВОИЧНО-ДЕСЯТИЧНОЕ ЦЕЛОЕ ЧИСЛО, а не флоат. Точку зажигают в необходимой позиции независимо от расчета цифр в разрядах.


Вернуться наверх
 Профиль  
 

Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вс дек 17, 2017 08:19:38 
Открыл глаза

Зарегистрирован: Вс май 28, 2017 20:07:32
Сообщений: 56
Рейтинг сообщения: 0
Понял, ладно.

Но библиотеку для работы с LCD все равно не могу найти для PIC.


Вернуться наверх
 Профиль  
 

Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вс дек 17, 2017 10:22:23 
Друг Кота
Аватар пользователя

Карма: 102
Зарегистрирован: Чт янв 10, 2008 23:01:02
Сообщений: 13955
Откуда: Московская область
Рейтинг сообщения: 0
А к чему она?
Есть даташит на ЖК, вот и напишите драйвер сами.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вс дек 17, 2017 11:15:15 
Открыл глаза

Зарегистрирован: Вс май 28, 2017 20:07:32
Сообщений: 56
Рейтинг сообщения: 0
Мне так удобнее было бы разобраться.

Так-то вот, нашел один код, который я в проект свой вставил:



Жаль только, что что слишком часто сменяются надписи Ok и Test, но это задержки тут кривые, наверное.


Вернуться наверх
 Профиль  
 
В сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пн фев 19, 2018 18:55:16 
Опытный кот
Аватар пользователя

Карма: 14
Зарегистрирован: Чт апр 12, 2012 08:19:59
Сообщений: 727
Откуда: Тюмень
Рейтинг сообщения: 0
Что скажете по поводу компилятора sdcc? Он вроде как умеет pic16/18 и бесплатный?


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вт мар 13, 2018 19:45:25 
Друг Кота
Аватар пользователя

Карма: 44
Зарегистрирован: Пт авг 28, 2009 22:34:30
Сообщений: 6180
Откуда: 845-й км.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
ниид хелп. Компилятор XC8 не хочет проглатывать такую простую конструкцию
Код:
=RC1REG
Мне нужно его просто прочитать, но данные сохранять не нужно. Почему-то казалось, что это вполне легальная конструкция.


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


Последний раз редактировалось uldemir Вт мар 13, 2018 19:54:17, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вт мар 13, 2018 19:51:06 
Потрогал лапой паяльник

Карма: 8
Зарегистрирован: Вс авг 09, 2009 00:02:57
Сообщений: 312
Откуда: Lugansk
Рейтинг сообщения: 0
Может надо RCREG1 ? и что пишет то при компиляции?

_________________
__________________
Все, что нельзя запрограммировать на ассемблере, приходится паять


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вт мар 13, 2018 19:55:01 
Модератор
Аватар пользователя

Карма: 72
Зарегистрирован: Пт мар 19, 2010 00:09:57
Сообщений: 3795
Откуда: Планета Земля
Рейтинг сообщения: 4
Медали: 1
Получил миской по аватаре (1)
Перед знаком "=" всегда должен стоят "адресат".
Просто прочитать можно написав имя регистра без всяких лишних знаков.

Добавлено after 3 minutes 25 seconds:
А вообще, в Вашем коде можно сделать чтение регистра во временную переменную, вначале условия, а потом уже работать с ней. Т.к. :
1. Он в коде у Вас 2 раза читается.
2. Компилятор, в любом случае, выделит место для его чтения.

_________________
Я мненью вашему вращенье придавал, а осью был - мой детородный орган.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вт мар 13, 2018 20:16:33 
Друг Кота
Аватар пользователя

Карма: 44
Зарегистрирован: Пт авг 28, 2009 22:34:30
Сообщений: 6180
Откуда: 845-й км.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Не читается - второе под условием else - будет или один или второй. Думал, может кто замечание по реализации кольцевого буффера скажет... чёрт, вижу еще один затык: если буфер переполнен, то я тоже не читаю регистр, а флаг прерывания снимаю - тоже может повиснуть и не отвиснуть.

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


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вт мар 13, 2018 20:28:33 
Модератор
Аватар пользователя

Карма: 72
Зарегистрирован: Пт мар 19, 2010 00:09:57
Сообщений: 3795
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Вы, по всей видимости, меня не поняли.
Код:
    if (RCIE && RC1IF) {
        unsigned char rcreg=RC1REG;
        ..............
        ..............

И дальше читаем переменную rcreg где нужно. А RC1REG будет прочитан всегда, когда вызовется прерывание.

Добавлено after 4 minutes 17 seconds:
Кстати, RC1IF = 0; - бесполезное действие. Он сбрасывается аппаратно, при чтении регистра RCREG.

_________________
Я мненью вашему вращенье придавал, а осью был - мой детородный орган.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вт мар 13, 2018 22:25:01 
Друг Кота
Аватар пользователя

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

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


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вт мар 13, 2018 22:27:02 
Модератор
Аватар пользователя

Карма: 72
Зарегистрирован: Пт мар 19, 2010 00:09:57
Сообщений: 3795
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Тогда сделайте так, да и всё :
Код:
        if(FERR) {
            unsigned char rcreg=RC1REG;
        } else {

А остальное оставьте как есть.

PS: Проц какой ?

_________________
Я мненью вашему вращенье придавал, а осью был - мой детородный орган.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Ср мар 14, 2018 18:20:55 
Друг Кота
Аватар пользователя

Карма: 44
Зарегистрирован: Пт авг 28, 2009 22:34:30
Сообщений: 6180
Откуда: 845-й км.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
pic18f25k40. Cделал так:
Код:
    if (RCIE && RC1IF) {
        if (FERR == 1) { // framing error clear, but skip data.
            RC1REG;
        } else {
            if (uart_count < UART_BUFFER_SIZE) {
                *wr_ptr = RC1REG;
                uart_count++;
                if (++wr_ptr >= &uart_buf[UART_BUFFER_SIZE]) wr_ptr = uart_buf;
            } else RC1REG;
        }
    }
Поправил и кольцевой буфер, а то похоже, у меня на один байт дальше указатель вылетал. А объявлять локальную переменную в обработчике прерывания что-то желания нет. нет у меня доверия к этому компилятору в бесплатном режиме. Больше нет.

Еще вопрос. А как быть с EEPROM? как его проинициализировать? когда-то писал ORG 0x2000. А вот в С что-то не соображу. А до юзер мануала еще 3 часа ехать.

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


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Ср мар 14, 2018 19:49:56 
Модератор
Аватар пользователя

Карма: 72
Зарегистрирован: Пт мар 19, 2010 00:09:57
Сообщений: 3795
Откуда: Планета Земля
Рейтинг сообщения: 4
Медали: 1
Получил миской по аватаре (1)
uldemir писал(а):
Cделал так:

Как вариант :
Код:
    if (RCIE && RC1IF) {
        if (!FERR && (uart_count < UART_BUFFER_SIZE)) {
            *wr_ptr = RC1REG;
            uart_count++;
            if (++wr_ptr >= &uart_buf[UART_BUFFER_SIZE]) wr_ptr = uart_buf;
        }
        RC1REG;
    }
По алгоритму получается один в один.
А uart_count что делает ? И в какой момент сбрасывается ?

uldemir писал(а):
нет у меня доверия к этому компилятору в бесплатном режиме.
А если сделать его "платным" ? :roll:
Какой компилятор, кстати ?
Если XC8, то на
uldemir писал(а):
как быть с EEPROM? как его проинициализировать?
Мануал говорит следующее :
Изображение
Вложение:
2018-03-14_19-52-34.png [25.71 KiB]
Скачиваний: 143

_________________
Я мненью вашему вращенье придавал, а осью был - мой детородный орган.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Ср мар 14, 2018 20:37:07 
Друг Кота
Аватар пользователя

Карма: 44
Зарегистрирован: Пт авг 28, 2009 22:34:30
Сообщений: 6180
Откуда: 845-й км.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Неплохой вариант. Я т пытался снахрапа взять. Собственно, еще одна ситуация не обрабатывается: OERR. Но, подумал, что это событие маловероятно, да и выход из него далеко не прост. Хотя, чё там не выключить и не включить обратно приём, раз уж данные и так потеряны?

uart_count у меня вычитается по мере считывания буфера в основном теле программы:
Код:
        if (uart_count) { // в буфере есть данные.
            uart_byte = *rd_ptr;
            uart_count--;
            if (++rd_ptr >= &uart_buf[UART_BUFFER_SIZE]) rd_ptr = uart_buf;

Может кольцевой буфер можно изящнее организовать? Надо посмотреть, как я сто лет назад его делал на 580-м процессоре...
Аlex писал(а):
А если сделать его "платным" ?
да, это про XC8 - платный он дюже дорог. А триальными 60-ю днями я уже в прошлом году воспользовался и это счастье больше мне не светит. А обмануть, его можно было только до какой-то версии. Говорят, они теперь стали внутрь зашивать SHA256 файла проверяющего лицензию, поэтому подменить пустышкой его больше нельзя.

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


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Ср мар 14, 2018 21:19:11 
Модератор
Аватар пользователя

Карма: 72
Зарегистрирован: Пт мар 19, 2010 00:09:57
Сообщений: 3795
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
А зачем гнаться за этими версиями ? Можно пользоваться той версией, до которой лекарство подходит. Вряд ли они что-то там серьёзное исправляют и добавляют.

_________________
Я мненью вашему вращенье придавал, а осью был - мой детородный орган.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Ср мар 14, 2018 22:09:06 
Друг Кота
Аватар пользователя

Карма: 31
Зарегистрирован: Сб сен 10, 2011 18:46:25
Сообщений: 3002
Рейтинг сообщения: 0
xc8 1.41 в windows и свежая 1.45 в linux легко были обмануты пургеном от старой 1.32 версии 2014г.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 976 ]  На страницу Пред.  1 ... 45, 46, 47, 48, 49  След.



Часовой пояс: UTC + 3 часа [ Летнее время ]


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

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


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

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


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