Страница 27 из 103
Re: Програмирование pic на СИ.
Добавлено: Вс июн 22, 2014 12:53:27
dosikus
Аlex писал(а):
А "*" - взятие значения по указателю.
Или я ошибаюсь ?

Ну ссылки же даны ...
Chettuser писал(а):
По моему этот код - просто кто то заигрался в указатели. Пишут там где надо и не надо. Современная тенденция или невежество?
Невежество именно , сначала изучи язык не поверхностно - затем обсуждай , что лишнее а что необходимо .
С косвенной адресацией весьма туго, на асме сей механизм не использовал ?
Вот меня прикалывают адепты асма на пЫк, научаться лапкой махать и мнят себя кодерами ...

Re: Програмирование pic на СИ.
Добавлено: Вс июн 22, 2014 13:01:02
Аlex
dosikus писал(а):Ну ссылки же даны ...

Лёх, ты меня решил потроллить чтоли ?
Спойлер


"
Завязывай, некрасиво со стороны смотрится

Re: Програмирование pic на СИ.
Добавлено: Вс июн 22, 2014 13:03:24
Chettuser
Alex, "приведение" типов?

Re: Програмирование pic на СИ.
Добавлено: Вс июн 22, 2014 13:08:45
Аlex
Chettuser писал(а):Alex, "приведение" типов?

Не понял, Вы о чём ?
Re: Програмирование pic на СИ.
Добавлено: Вс июн 22, 2014 13:33:25
Chettuser
Вы ведь про разные типы данных говорили?
Аlex писал(а):принимает значение одного байта, а переменная tmp имеет тип - int.
Re: Програмирование pic на СИ.
Добавлено: Вс июн 22, 2014 13:34:46
dosikus
Аlex писал(а):
Завязывай, некрасиво со стороны смотрится

Да тебя даже и не думал .
Ну посмотри сам - взятие значения произойдет здесь
Ибо указатель в роли аргумента функции .
А здесь будет лишь инкремент
и инкремент адреса .
Ты когда тот пример читаешь осознай в качестве чего там указатель, и какие телодвижения с ним совершают ..
А там - просто накипело - Chettuser занялся обрезанием , даже не подумавши .
У него это уже в стиль жизни складывается , взять тот же феерически-дол***ный вывод о излишестве R2R в пЫккит2 ...
Re: Програмирование pic на СИ.
Добавлено: Вс июн 22, 2014 14:06:29
Chettuser
dosikus писал(а):взять тот же феерически-дол***ный вывод о излишестве R2R в пЫккит2 ...

Я это говорил??? Вы не путаете?

Re: Програмирование pic на СИ.
Добавлено: Вс июн 22, 2014 14:21:17
HHIMERA
Аlex писал(а):
HHIMERA писал(а):*var++ - инкремент адреса
Немного дополню - инкремент адреса с предварительным взятием значения."
Что за наивная привычка спорить...
Просто *var++; - это что???
Кейл, например, var++; может выкинуть, а *var++; - нет... Всё по задаче...
Re: Програмирование pic на СИ.
Добавлено: Вс июн 22, 2014 14:42:25
Аlex
HHIMERA писал(а):Что за наивная привычка спорить...
Что за наивная привычка видеть во всём спор и подковырки ?
Мое дополнение (ещё раз говорю) касается кода ТС'а , дабы он понял суть этого выражения.
HHIMERA писал(а):Просто *var++; - это что???
Просто - ничто - обычный инкремент указателя, ибо вытаскивать значение по нему некуда.
Если речь идёт о выражении в целом, то это - взятие значения с постинкрементом адреса.
Chettuser писал(а):Вы ведь про разные типы данных говорили?
Аlex писал(а):принимает значение одного байта, а переменная tmp имеет тип - int.
Да.
Ну смотрите, функция
EEPROM_WRITE вторым параметром принимает значение, размером в 1 байт. А Вам нужно записать 2-х байтовую переменную.
Отсюда вопрос - что Вы будете делать ? Хочется услышать ответ на него, т.к. дальнейшее объяснение будет зависеть от ответа.
Re: Програмирование pic на СИ.
Добавлено: Вс июн 22, 2014 15:56:34
Chettuser
Я бы разбил 2-х байтовую переменную на два байта. И по отдельности записал бы. Как то так.

Re: Програмирование pic на СИ.
Добавлено: Вс июн 22, 2014 16:03:36
Аlex
Ну вот, тут так же и делается, только через указатель
Создаётся указатель на
unsigned char (1 байт), присваивается ему адрес
int-переменной, затем по этому указателю, инкрементируя его, записывается 2 байта подряд.
Re: Програмирование pic на СИ.
Добавлено: Вт авг 26, 2014 16:16:16
arhar
Уважаемые коты. Прошу помощи с новым для меня pic12f629.
В двух словах: собрал на макете пик и 4 диода. Написал тупейший hello world, в MplabX (XC8 compiler). Прошивается и через mplabX и через Pickit3 programmer. (да. шью pickit3). Но не стартует хоть ты тресни!
Если зашиваю в МК что то не мое (левые проекты) - все стартует.
Самое непонятное: завожу в протеусе (файл положил во вложение вместе с прошивкой) - все работает.
Ткните меня пожалуйста носом, где я напортачил?
Re: Програмирование pic на СИ.
Добавлено: Вт авг 26, 2014 18:57:11
Chettuser
Дайте угадаю!
1. Конфиг?
2. Инициализация?
Re: Програмирование pic на СИ.
Добавлено: Вт авг 26, 2014 21:09:35
arhar
Ну если б я знал, не спрашивал наверное? можно поподробнее? я так понял, что есть типичные ошибки новичков. Можете на примере кода указать где я недоперекодил?
Re: Програмирование pic на СИ.
Добавлено: Вт авг 26, 2014 22:06:15
Аlex
Попробуйте залить эту прошивку -
если заработает, значит программатор у Вас не выставляет сам калибровочную константу. В MPLAB, в настройках программатора есть что-то подобное.
Re: Програмирование pic на СИ.
Добавлено: Ср авг 27, 2014 07:58:18
arhar
Аlex писал(а):Попробуйте залить эту прошивку - ...
Все оказалось прозаичней и банальней... битый проц. Видимо внутренний генератор не стартует...
Спасибо за помощь,

Re: Програмирование pic на СИ.
Добавлено: Чт авг 28, 2014 11:52:20
dosikus
arhar писал(а):
Все оказалось прозаичней и банальней... битый проц.
Все еще проще и банальней - стертая калибровочная константа при использовании INTRC ...

Re: Програмирование pic на СИ.
Добавлено: Чт окт 16, 2014 18:27:04
Stepa-Kunitia
Здравствуйте.
Скорее всего, вопрос у меня очень глупый, но всё же..
В чём разница между компилляторми С30 и ХС16? Будет ли различаться синтаксис?
Re: Програмирование pic на СИ.
Добавлено: Вт ноя 04, 2014 08:37:39
Сем30
Прошу помощи с установкой компилятора си в старый mplab 8.3 Установил PICC Compiler 9.50 как там написано добывил информацию в реестр и т.д.
вобщем пишу программу:
#include <pic.h>
__CONFIG (INTIO & UNPROTECT & LVPDIS & BOREN & MCLRDIS & PWRTEN & WDTDIS);
void main (void)
{
}
и компилятор пишет:
Executing: "C:\Program Files\HI-TECH Software\PICC\9.50\bin\picc.exe" -C -E"Test.cce" "Test.c" -O"Test.obj" -Zg9 -O -ASMLIST -Q -MPLAB -16F628A
Error[1187] : invalid activation request
Halting build on first failure as requested.
BUILD FAILED: Tue Nov 04 12:36:21 2014
что можно сделать чтоб он заработал?
Re: Програмирование pic на СИ.
Добавлено: Вт ноя 04, 2014 11:17:08
Аlex
Установите
XC8, это тот же
HI-TECH, только с активацией проблем нет никаких. Без лекарства работает в режиме FREE, что для начала вполне достаточно.