помогите опросить энкодер

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
stas00n
Вымогатель припоя
Сообщения: 557
Зарегистрирован: Пн мар 23, 2009 04:03:45

Re: помогите опросить энкодер

Сообщение stas00n »

vovik15 писал(а):у меня компилятор hi tech 9.70

Я его и имел в виду - hi-tech PICC :))) Пример постом выше. У меня так работает.
Реклама
vovik15
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Контактная информация:

Re: помогите опросить энкодер

Сообщение vovik15 »

а у меня не компилируеться
на строчку
#include <htc.h> молчит
а на __delay_ms(10); // Задержка 10 мс
говорит что Error[499] : undefined symbol:
___delay_ms (C:\Program Files\Microchip\progect\labrary_delay\Untitled.obj)
Реклама
stas00n
Вымогатель припоя
Сообщения: 557
Зарегистрирован: Пн мар 23, 2009 04:03:45

Re: помогите опросить энкодер

Сообщение stas00n »

ЧуднО. Попробуйте этот исходник скомпилить. Добавил delay в начало мэйна. У меня работает. Версия компилятора 9.80 PRO - может в этом дело?
Вложения
main.c
(1.1 КБ) 983 скачивания
stas00n
Вымогатель припоя
Сообщения: 557
Зарегистрирован: Пн мар 23, 2009 04:03:45

Re: помогите опросить энкодер

Сообщение stas00n »

Вот лог вывода:

Код: Выделить всё

Build D:\mplab\enco\encoder for device 16F628A
Using driver C:\Program Files\HI-TECH Software\PICC\9.80\bin\picc.exe

Make: The target "D:\mplab\enco\main.p1" is out of date.
Executing: "C:\Program Files\HI-TECH Software\PICC\9.80\bin\picc.exe" --pass1 D:\mplab\enco\main.c -q --chip=16F628A -P --runtime=default,+clear,+init,-keep,+osccal,-download,-resetbits,-stackcall,+clib --opt=default,+asm,-debug,-speed,+space,9 --warn=0 -D__DEBUG=1 --double=24 --float=24 --addrqual=ignore -g --asmlist "--errformat=Error   [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"
Executing: "C:\Program Files\HI-TECH Software\PICC\9.80\bin\picc.exe" -oencoder.cof -mencoder.map --summary=default,-psect,-class,+mem,-hex --output=default,-inhx032 main.p1 --chip=16F628A -P --runtime=default,+clear,+init,-keep,+osccal,-download,-resetbits,-stackcall,+clib --opt=default,+asm,-debug,-speed,+space,9 --warn=0 -D__DEBUG=1 --double=24 --float=24 --addrqual=ignore -g --asmlist "--errformat=Error   [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"
HI-TECH C Compiler for PIC10/12/16 MCUs (PRO Mode)  V9.80
Copyright (C) 2010 Microchip Technology Inc.
Serial number: HCPICP-492167 (PRO)

Memory Summary:
    Program space        used    4Eh (    78) of   800h words   (  3.8%)
    Data space           used     9h (     9) of    E0h bytes   (  4.0%)
    EEPROM space         used     0h (     0) of    80h bytes   (  0.0%)
    Configuration bits   used     1h (     1) of     1h word    (100.0%)
    ID Location space    used     0h (     0) of     4h bytes   (  0.0%)

Loaded D:\mplab\enco\encoder.cof.

********** Build successful! **********
Реклама
Эиком - электронные компоненты и радиодетали
vovik15
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Контактная информация:

Re: помогите опросить энкодер

Сообщение vovik15 »

не компилируеться этот код

Код: Выделить всё

Executing: "C:\Program Files\HI-TECH Software\PICC\9.50\BIN\PICC.EXE" -C -E"Untitled.cce" "Untitled.c" -O"Untitled.obj" -Zg9 -O -ASMLIST -Q -MPLAB -16F628A
Advisory[1207]   : some of the command line options you are using are now obsolete
Advisory[1208]   : use --help option or refer to the user manual for option details
Warning[361] C:\Program Files\Microchip\progect\proba\Untitled.c 28 : function declared implicit int
Executing: "C:\Program Files\HI-TECH Software\PICC\9.50\BIN\PICC.EXE" -E"main.lde" "C:\Program Files\Microchip\progect\proba\Untitled.obj" -M"main.map" -O"main.cof" -O"main.hex" -Q -MPLAB -16F628A
Advisory[1207]   : some of the command line options you are using are now obsolete
Advisory[1208]   : use --help option or refer to the user manual for option details
Error[499]   : undefined symbol:
   ___delay_ms (C:\Program Files\Microchip\progect\proba\Untitled.obj)
BUILD FAILED: Thu Jan 27 20:03:46 2011


Реклама
Аватара пользователя
Chiper
Грызет канифоль
Сообщения: 251
Зарегистрирован: Ср окт 07, 2009 18:37:22
Откуда: BMSTU

Re: помогите опросить энкодер

Сообщение Chiper »

Попробовал данный код на реальном железе, работает не корректно...
Данный баг я в начале заметил в протеусе:
Считает только на возрастание, ибо в функции interrupt успевает проскажить только первое условие, второе условие программа просто проскакивает, если поменять их местами, то будет считать только в обратную сторону :)

В общем не очень хороший алгоритм... Сейчас попробую написать что-то другое без использования аппаратных прерываний.
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»