роботы робототехника микроконтроллеры


 Страниц (4): « 1 [2] 3 4 »   

> Без описания
redcat Post Id



Главнокомандующий


Сообщений всего: 387
Дата рег-ции: Янв. 2009  



Blitzkrieg
Скопируй и выложи весь код
 
 Top
Blitzkrieg Post Id


Лейтенант


Сообщений всего: 33
Дата рег-ции: Янв. 2009  



Блин, вот абсолютно рабочий код. Видно что скомпилилсо.
(Добавление)
Это весь код, при нажатии и удерживании кнопки до окончания паузы светодиод мигает в два раза чаще
Прикреплено изображение
primer2.JPG

 
 Top
redcat Post Id



Главнокомандующий


Сообщений всего: 387
Дата рег-ции: Янв. 2009  



странный компилятор, в АВР немного по другому. У нас задержка выглядит так - _delay_ms(); а у вас без _. И не видно подключаемых библиотек. Хотя если работает delay_ms(1000), то похоже библиотека подключена. ....

Короче о немного разных типах языка мы говорим. Перехожи на АВР)))
 
 Top
Blitzkrieg Post Id


Лейтенант


Сообщений всего: 33
Дата рег-ции: Янв. 2009  



AVR Это микроконтроллеры чтоль такие? :-)
Пробовал PICBASICPro но чет там воще элементарный код не заработал.
А в этом компилире не работает вот это PORTA.F0 = ~PORTA.F0 :-(
 
 Top
бот_м_16 Супермодератор Post Id



Супермодератор


Сообщений всего: 1033
Дата рег-ции: Окт. 2008  



PICBasicPro я снего начинал но он для пиков AVR это действительно МК
Если примиш ИСТИННУЮ ВЕРУ (C для AVR) то тибе примиком к avr123.nm.ru
Начинай в CVAVR! И не решаемых проблем не будет!
(Добавление)
ЗЫ
Посмотри книги по своему microC
 
 Top
Blitzkrieg Post Id


Лейтенант


Сообщений всего: 33
Дата рег-ции: Янв. 2009  



Во чо тут намудрил :-) Странно, но даже работает :-) Ставит серву в указанное положение.

CODE:
unsigned cnt;

void interrupt() {
if(INTCON.T0IF)
{
cnt++; // Increment value of cnt on every interrupt
TMR0 = 6;
INTCON.T0IF = 0; // clear T0IF
}
}

void servo_mv(char step)
{
while (cnt <= step) {PORTB.F5 = 1;}
while ((cnt>step)&&(cnt<=200-step)) {PORTB.F5 = 0;}
cnt=0;
}

void main() {
int i;
TRISA.F0 = 1;
TRISA.F1 = 1;
ANSEL = 0b00000000; // Set AN pins to Digital I/O
INTCON.GIE=1;
INTCON.T0IE=1;
OPTION_REG.T0CS=0;
OPTION_REG.PSA=0;
OPTION_REG.PS0=0;
OPTION_REG.PS1=0;
OPTION_REG.PS2=0;
TRISB.F5 = 0; // PORTB is output

do {

servo_mv(13); //Ставит серву в среднее положение
} while(1);
}
 
 Top
redcat Post Id



Главнокомандующий


Сообщений всего: 387
Дата рег-ции: Янв. 2009  



нде.........
 
 Top
бот_м_16 Супермодератор Post Id



Супермодератор


Сообщений всего: 1033
Дата рег-ции: Окт. 2008  



А чем тебе PICBasic не угодил он хотябы логичний
 
 Top
Blitzkrieg Post Id


Лейтенант


Сообщений всего: 33
Дата рег-ции: Янв. 2009  



бот_м_16 пишет:
А чем тебе PICBasic не угодил он хотябы логичний

А чем mikroC не логичен? :-)
На PICBaiscPro не заработала программа LedBlinking из мануала по PICBasicPro. Программа три четыре строчки.
PORTB.F3=1
pause 500
PORTB.F3=0
pause500
Писал в MicroCodeStudio свеженьком,компилялась пропатченным двумя патчами свеженьким PBP, при начале написания выбирал свой пик.
В итоге скомпилялась, положил ее в микруху она диод зажигает и не гасит.
Повторяюсь сам пример кода брался из мануала, и работать он должен.
(Добавление)
redcat пишет:
нде.........

С повышением:-)
Что? не нравится код? :-)

(Отредактировано автором: 30 Января, 2009 - 16:45:22)

 
 Top
бот_м_16 Супермодератор Post Id



Супермодератор


Сообщений всего: 1033
Дата рег-ции: Окт. 2008  



На твоих премерах не очень(с точки зрения CVAVR$WinAVR)
PS
А ты часом не проклят ? А то васик не работае сишный коппилятор ругается Подшучивать, дразнить
 
 Top
redcat Post Id



Главнокомандующий


Сообщений всего: 387
Дата рег-ции: Янв. 2009  



Код не нравится. Тормозов много... хотя смотря какую роль девайс выполнять будет.
 
 Top
Blitzkrieg Post Id


Лейтенант


Сообщений всего: 33
Дата рег-ции: Янв. 2009  



redcat пишет:
Код не нравится. Тормозов много... хотя смотря какую роль девайс выполнять будет.

Девайс выполнеяет роль обучающую :-)
Поконкретнее :-) Принимаю любую критику, бо поможет в понимании.
Кстати интересно размер кода сравнить счем нить :-) Грят что пикбэйсик компилит более компактный код, но с другой стороны си язык более низкоуровневый чем бейсик следовательно и размер меньше должен быть.
(Добавление)
бот_м_16 пишет:
На твоих премерах не очень(с точки зрения CVAVR$WinAVR)
PS
А ты часом не проклят ? А то васик не работае сишный коппилятор ругается Подшучивать, дразнить

Не, просто я нахожу проблему там где другой даж не спотыкнецо :-)
Везет мне на дырки :-)
по повоуд пиквасика стопудово. могу выложить даж код, результат компиляци и т.д. сам оч. расстроился. Вобще када покупал данный конструктор рассчитывал что он на PIC16F877 и как раз придецо писать пивасике бо в мане как раз речь о пиквасике, накачал се фсяких мануалов, варезный компиллер с микрокодстудио крайними. Купил, прибежал радостный открыл а там микроси и микруха PIC16F887. C с достаточно давних времен нравицо куда больше васика, паскаля и прочей мути :-) Асм тру, но влом. :-)
Кстати по поводу терраэлектроники, када сравнил стоимость в чипдипе и там припух, а када узнал что терраэлектроника на соседней улице так воще решил что ТАМ меня любят :-)
Если нада чо нить там купить, могу легко добежать в обед :-)
(Добавление)
Мужыки свершилось чудо :-)
Взял открыл код, скомпилил, прошил работает :-) Код набран был мною же и не работал проверен был.
А тут на тебе.
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2009 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 18.01.2009 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
' File : a0105.bas
' Description : Show message on LCD module
@ DEVICE PIC16F887,HS_OSC ' Use PIC16F877 and HS Oscilator
DEFINE OSC 20 ' Use Oscillator 20 MHz
TRISB.3 = 0
LOOP:
PORTB.3 = 1
PAUSE 500
PORTB.3 = 0
PAUSE 500
GOTO LOOP
(Добавление)
Ужоснах завелось, хотя pickit ругается
Warning: Some configuration words not in hex file. Ensure default values above right acceptable
(Добавление)
Сравнил :-) Два эдентичных по функции кода. Ниже приведен код на PICBasicPro и mikroC.

PBP
CODE:
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2009 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 18.01.2009 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
' File : a0105.bas
' Description : Show message on LCD module
@ DEVICE PIC16F887,HS_OSC ' Use PIC16F877 and HS Oscilator
DEFINE OSC 20 ' Use Oscillator 20 MHz
TRISA.5 = 0
TRISB.3 = 0
LOOP:
PORTA.5 = 1
PORTB.3 = 1
PAUSE 100
PORTA.5 = 0
PORTB.3 = 0
PAUSE 100
GOTO LOOP


mikroC

CODE:
void main()
{
TRISA.F5=0;
TRISB.F3=0;
while(1)
{
PORTA.F5=1;
PORTB.F3=1;
delay_ms(100);
PORTA.F5=0;
PORTB.F3=0;
delay_ms(100);
}
}


Итоговый размер файлов:
PBP
untitled.hex 333 байт
mikroC
compa.hex 484 байт

Странно, но тем не менее уже результат :-)

(Отредактировано автором: 30 Января, 2009 - 23:52:32)

 
 Top
бот_м_16 Супермодератор Post Id



Супермодератор


Сообщений всего: 1033
Дата рег-ции: Окт. 2008  



васик это сила Подмигивающий
слушай PORTB.F3 == PORTB.3 в микро с Жуть Замешательство ?
 
 Top
Blitzkrieg Post Id


Лейтенант


Сообщений всего: 33
Дата рег-ции: Янв. 2009  



бот_м_16 пишет:
слушай PORTB.F3 == PORTB.3 в микро с

именно так :-)
 
 Top
бот_м_16 Супермодератор Post Id



Супермодератор


Сообщений всего: 1033
Дата рег-ции: Окт. 2008  



нда хотел посмотреть что за зверь миеро с теперь точно не буду
 
 Top
Страниц (4): « 1 [2] 3 4 »
« Программирование микроконтроллеров »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru