Например TDA7294

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

Текущее время: Ср окт 01, 2025 09:08:25

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


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



Начать новую тему Ответить на тему  [ Сообщений: 1367 ]     ... , , , 11, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пн сен 12, 2011 21:23:43 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: 0
Зарегистрирован: Сб апр 17, 2010 10:30:13
Сообщений: 400
Рейтинг сообщения: 0
Неужели люди которые знают програмирование не знают как зделать так чтоб работала моя арифметика?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вт сен 13, 2011 09:35:34 
Сверлит текстолит когтями
Аватар пользователя

Зарегистрирован: Сб июл 11, 2009 18:42:21
Сообщений: 1135
Откуда: Украина, г.Николаев
Рейтинг сообщения: 0
почему компилятор PICC18 ругается на
bit flag_1;

_________________
Успех - императив!


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

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4582
Откуда: Планета Земля
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
Может потому, что Вы его пытаетесь объявить внутри ф-ии ?


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

Зарегистрирован: Сб июл 11, 2009 18:42:21
Сообщений: 1135
Откуда: Украина, г.Николаев
Рейтинг сообщения: 0
да нет, как глобальную переменную. Пишет синтакс эррор.


Вложения:
ругается на переменную бит.jpg [175.18 KiB]
Скачиваний: 599

_________________
Успех - императив!
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вт сен 13, 2011 11:23:10 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4582
Откуда: Планета Земля
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
Попробуйте объявить как static bit.


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

Зарегистрирован: Сб июл 11, 2009 18:42:21
Сообщений: 1135
Откуда: Украина, г.Николаев
Рейтинг сообщения: 0
static bit это вроде внутри ф-ции... но пробовал и так и сяк. Тоже самое:(

_________________
Успех - императив!


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

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4582
Откуда: Планета Земля
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
Так у Вас компиль то какой ? Вы написали PICC18. Я так думаю что HI-TECH (?).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вт сен 13, 2011 11:36:49 
Сверлит текстолит когтями
Аватар пользователя

Зарегистрирован: Сб июл 11, 2009 18:42:21
Сообщений: 1135
Откуда: Украина, г.Николаев
Рейтинг сообщения: 0
Цитата:
Language tool versions: mpasmwin.exe v5.34, mplink.exe v4.34, mcc18.exe v3.34

PICC18, иначе как бы проект компилился с кодом и инками для 4550 :)))

_________________
Успех - императив!


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

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4582
Откуда: Планета Земля
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
Цитата:
Language tool versions: mpasmwin.exe v5.34, mplink.exe v4.34, mcc18.exe v3.34
Не вижу ни в Ваших постах, ни в скрине подобной строки.
У меня объявление как bit прокатывает на ура. Не знаю почему у Вас не работает.
Может у Вас какой-нибудь там PRO :roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вт сен 13, 2011 12:50:00 
Сверлит текстолит когтями
Аватар пользователя

Зарегистрирован: Сб июл 11, 2009 18:42:21
Сообщений: 1135
Откуда: Украина, г.Николаев
Рейтинг сообщения: 0
Аlex
Цитата:
Не вижу ни в Ваших постах, ни в скрине подобной строки.
У меня объявление как bit прокатывает на ура. Не знаю почему у Вас не работает.

Та вроде обычный mcc_18. Только этот глюк... Кстати в хелпе отсутствует этот тип переменной.

_________________
Успех - императив!


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

Карма: 22
Рейтинг сообщений: 81
Зарегистрирован: Пн дек 08, 2008 10:58:48
Сообщений: 1262
Откуда: Винница
Рейтинг сообщения: 0
Вы снесли мозг как мне, так и Алексу.

значение переменной - бит в общем, идет как бонус для этих компиляторов - :)
и, скорее всего, потому что ими хайтек куплен, (в котором оно есть как бы изначально), для совместимости с ним делают примочки.
Попробуйте подключить в проект файл GenericTypeDefs.h


Вложения:
GenericTypeDefs.h [15.7 KiB]
Скачиваний: 495
Вернуться наверх
 
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вт сен 13, 2011 18:28:28 
Так MCC18 или PICC18 ? Насколько я понимаю это несколько разные компиляторы... :roll:


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

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4582
Откуда: Планета Земля
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
Конечно разные.
Roman Venom всем мозг запудрил. :))
В PICC есть такой тип данных, в MCC походу нет. Вот и весь ответ. :)


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

Зарегистрирован: Сб июл 11, 2009 18:42:21
Сообщений: 1135
Откуда: Украина, г.Николаев
Рейтинг сообщения: 0
urry
Цитата:
Вы снесли мозг как мне, так и Алексу.

За файлик спасибо, попробую на досуге.

Аlex
Цитата:
Roman Venom всем мозг запудрил.

:))) Ну прикол в том, что MBLAB
Код:
bin
подсвечивает... это вводит в заблуждение.

Цитата:
В PICC есть такой тип данных, в MCC походу нет. Вот и весь ответ.

Уже понял.

_________________
Успех - императив!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пн сен 26, 2011 15:13:00 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: 0
Зарегистрирован: Сб апр 17, 2010 10:30:13
Сообщений: 400
Рейтинг сообщения: 0
Ребят, ну обьясните как работать с этим флоат float. читал файл который дали выше. но там же не сказано как это всё оформить програмно.



volatile - ставьте если нужно предотвратить возможность повреждения содержимого переменной в прерывании, и не позволить компилятору попытаться выкинуть её при оптимизации кода. ---------- самое нормальное обьяснение.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Пн сен 26, 2011 18:46:19 
Мучитель микросхем

Зарегистрирован: Пт ноя 20, 2009 20:38:12
Сообщений: 429
Откуда: Калининград (Koenigsberg)
Рейтинг сообщения: 0
misterkuk писал(а):
Ребят, ну обьясните как работать с этим флоат float. читал файл который дали выше. но там же не сказано как это всё оформить програмно.



volatile - ставьте если нужно предотвратить возможность повреждения содержимого переменной в прерывании, и не позволить компилятору попытаться выкинуть её при оптимизации кода. ---------- самое нормальное обьяснение.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вт сен 27, 2011 11:41:30 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: 0
Зарегистрирован: Сб апр 17, 2010 10:30:13
Сообщений: 400
Рейтинг сообщения: 0
Значит так. Хочу сделать тахометр. По сути своей это частотомер в котором результат умножается на 60. Тоесть оборотов в минуту. Планирую снимать сигнал с датчика коленвала. 1 оборот=1импульс. Я в своей програме меряю время между импульсами (между задними фронтами, мне кажется так удобней). При кварце в 20 мегагерц 1машинный цикл (Далее мц) выполняется за 200 наносекунд. Зная количество машинных циклов с момента падения сигнала до момента падения сигнала( так как прерывание по заднему фронту) и время 1 мц то можем расчитать частоту по формуле 1/Т ( где Т- периуд)( тоесть 200 умноженые на количество МЦ и переведённые в секунды). Далее унас выходит частота за секунду. Умножаем на 60 и получаем Количество оборотов за минуту.
В програме так. Таймер1 считает количество МЦ между импульсами. При каждом переполнении таймера1 (Если время между циклами больше чем 65536) инкрементируется переменная tmr1temp и выходит из ПОП. Когда происходит прерывание, тоесть когда сигнал падает в ноль. Программа уходит в ПОП. Здесь я хотел сделать её как можно короче, то мы опускаем алаг прерывания int , обьединяем число с 2 половинок TMR1 в одну переменную и количество переполнений таймера в другую переменную. обнуляем переменную хранящюю количество переполнений ( мы их сохранили уже) и таймер1 обнуляем ( тоже сохранили обьединив 2 половинки тайймера) и выходим из прерывания. В основной программе мы считаем количество МЦ которые мы сохраняли. Тоесть количество переполнений умножим на 65536 и прибавим то что оттавалось в таймере до до момента обьединения их в одно число( так как я понимаю таймер работает когда мы в прерывании находимся). получили количество МЦ за периуд. Умножим это всё на 200наносекунд. Просто на 200 тупо множим, получается огромное число с точкой. Потом переводим это в секунды деля на МИЛЛИАРД. Потом единицу делим на то сто получилось и получаем частоту. Умножив на 60 получим частоту в минуту.
Проблема в том что янезнаю как считать большие числа , умножать и делить их в програме и как например вывести число которое с точкой разбить на целые и вывисть на 7сег индикатор. как вывести я знаю а вот как разбить число с точкой нет. Тоесть как разбить число типа float. Там как я понял степени какието, множители , идентификаторы плюса или минуса. как такое число вывести на дисплей.


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

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4582
Откуда: Планета Земля
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
Вам совсем не нужен тип float, можно обойтись числами без точки.
Тактовая частота известна (20'000'000 Гц), период тоже (T).
Теперь просто берём тактовую, умножаем её на 60 и делим на период.
об/мин = 1'200'000'000 / T
Проверяем.
К примеру у нас 3000 об/мин. Это 50Гц. За 1 период(20 мс.), таймер отсчитает 400'000 тактов. Делим 1'200'000'000 на 400'000, получаем 3000. Что и требовалось доказать :)
Всё до боли просто :P

Если, к примеру, нужно показывать по 10 об/мин, а не по 1 (что-бы в глазах не мельтишило), то тактовую надо умножить не на 60, а на 6. А конечный результат умножить на 10.

Математика 5 класс :))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Програмирование pic на СИ.
СообщениеДобавлено: Вт сен 27, 2011 14:36:59 
Мучитель микросхем

Карма: 3
Рейтинг сообщений: 0
Зарегистрирован: Сб апр 17, 2010 10:30:13
Сообщений: 400
Рейтинг сообщения: 0
Аlex писал(а):
Вам совсем не нужен тип float, можно обойтись числами без точки.
Тактовая частота известна (20'000'000 Гц), период тоже (T).
Теперь просто берём тактовую, умножаем её на 60 и делим на период.
об/мин = 1'200'000'000 / T
Проверяем.
К примеру у нас 3000 об/мин. Это 50Гц. За 1 период(20 мс.), таймер отсчитает 400'000 тактов. Делим 1'200'000'000 на 400'000, получаем 3000. Что и требовалось доказать :)
Всё до боли просто :P

Если, к примеру, нужно показывать по 10 об/мин, а не по 1 (что-бы в глазах не мельтишило), то тактовую надо умножить не на 60, а на 6. А конечный результат умножить на 10.

Математика 5 класс :))

Класс. всё гениальное-просто. Это нужно сделать прерывание в 1сек и считать за секунду импульсы. Верно?


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

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4582
Откуда: Планета Земля
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
Цитата:
считать за секунду импульсы. Верно?
:shock:
:тут смайл - кот повесился:


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

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


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

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


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

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


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