Например TDA7294

Форум РадиоКот :: Просмотр темы - помогите опросить энкодер
Форум РадиоКот
http://radiokot.ru/forum/

помогите опросить энкодер
http://radiokot.ru/forum/viewtopic.php?f=20&t=27204
Страница 3 из 3

Автор:  stas00n [ Чт янв 27, 2011 16:50:15 ]
Заголовок сообщения:  Re: помогите опросить энкодер

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

Я его и имел в виду - hi-tech PICC :))) Пример постом выше. У меня так работает.

Автор:  vovik15 [ Чт янв 27, 2011 16:52:54 ]
Заголовок сообщения:  Re: помогите опросить энкодер

а у меня не компилируеться
на строчку
#include <htc.h> молчит
а на __delay_ms(10); // Задержка 10 мс
говорит что Error[499] : undefined symbol:
___delay_ms (C:\Program Files\Microchip\progect\labrary_delay\Untitled.obj)

Автор:  stas00n [ Чт янв 27, 2011 17:25:55 ]
Заголовок сообщения:  Re: помогите опросить энкодер

ЧуднО. Попробуйте этот исходник скомпилить. Добавил delay в начало мэйна. У меня работает. Версия компилятора 9.80 PRO - может в этом дело?

Вложения:
main.c [1.1 KiB]
Скачиваний: 562

Автор:  stas00n [ Чт янв 27, 2011 17:29:48 ]
Заголовок сообщения:  Re: помогите опросить энкодер

Вот лог вывода:
Код:
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 [ Чт янв 27, 2011 20:04:35 ]
Заголовок сообщения:  Re: помогите опросить энкодер

не компилируеться этот код
Код:
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 [ Ср авг 08, 2012 03:45:21 ]
Заголовок сообщения:  Re: помогите опросить энкодер

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

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

Страница 3 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/