Перейти к содержанию

Рекомендуемые сообщения

Я не пробовал но думаю что можно, вот цитата из перевода описания компилятора PicBasic Pro:

7.5. Жизнь После 2 КБ

Да, есть жизнь после 2 КБ, используя PicBasic Pro Компилятор.

PICmicro контроллеры имеют сегментированный размер кода.

PICmicro команды 14 разрядного контроллера типа Call и Goto

имеют биты, достаточные только для того, чтобы обратиться к 2 КБ

адресного пространства программы. Чтобы добраться и

закодировать вне границы 2 КБ, PCLATH регистр должен быть

определен перед каждым Call или Goto.

Изменено пользователем alder
Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Как корректно с этим регистром работать?

У меня программа 3200 слов и будет еще наращиваться.

После компиляции выдало три сообщения о переходе кодовой страницы.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

  • 2 недели спустя...

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Маленькая новость: сайта http://www.picbasic.narod.ru/ больше не существует.

не умер - болЭю я :)

Сайт расширяется (ПИКи + АВР), и будет доступен по новому адресу:

pic-avr.narod.ru

Ссылка на комментарий
Поделиться на другие сайты

А сайт по старому адресу, со ссылкой на новый, не удаляй какое то время, хотя бы год, он же кушать не просит.

P.S. И еще пожелание: всю инфу со старого сайта перенесите на новый, пожалуйста, в частности я имею ввиду схему JDM программатора. Дело в том, что я давал ссылку на Ваш сайт в журнальной статье «Урок программирования на языке PicBasic Pro», опубликованной в журнале Радиоаматор №1, за 2006 год.

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

P.S. 2.07.2006 г.

Сообщение администрации сайта:

Внимание! По независящим от нас причинам данные с сервера были потеряны. Были восстановлены данные только на 26 мая 2006 года. После этого числа все темы, регистрации и пр. было утеряно.

Утеряна и часть данных этой ветки форума. От себя скажу, автор сайта http://www.picbasic.narod.ru/ выполнил все мои пожелания: сделал переадресацию со старого сайта на новый, а также перенес все данные. Мы в конце пожали друг другу руки.

Изменено пользователем alder
Ссылка на комментарий
Поделиться на другие сайты

  • 2 месяца спустя...

Люди помагите!!! :lol:

Я нашол в инете эту фишку (фокусы на каторые спасобен микракантролер) и понял что это мое.

Спаял экспериментальную плату (Из мануала по Pic Basic) приметив, но для проверки программатора и этого хватит.

Само сабой программатор (JMD), и все работало!!! :D

Я начал экспериментировать с лампочками, кнопочками, ну и с разной другой мелочью.

И когда я собрался паять чтонибуть путевое, моя собака разбила адаптор :angry: , я купил туфту у въетнамцев

и не проверив поставил на 4.5v сначала работало а для через 2 сдохла :( (адаптор давал вместо 4.5v чтота окало 6-7v).

Конденсаторы, резисторы проверяю, все ровно как и далжно быть. Микракантролер тоже живой (программатор прошивает

и читает с него) а работать не хочет :angry::angry::angry:

Как узнать в чем проблема???

Ссылка на комментарий
Поделиться на другие сайты

Вообще то PIC микроконтроллеры рассчитаны на питание, максимум 5,5 В, вполне возможно что от 7 В что-то там внутри микросхемы накрылось. Попробовать другой PIC, и адаптер (блок питания) без стабилизатора не применять!

Ссылка на комментарий
Поделиться на другие сайты

Мой вопрос может показаца глупым, но я прошу не оставить его без внимания!!! :)

Как .HEX файл переделать обратно в исходник?

Помагите, надо как воздух!!!

Ссылка на комментарий
Поделиться на другие сайты

В исходник PicBasic, не знаю, а в ассемблер можно.

Я думал что если прошиваетца значкт работает :D

А как кварц проверить, и какой провод (длина) нужна ставить на программатор?

Можно и без кварца запустить, например с RC цепочкой, или внутренним генератором. А с каким МК работаете?

Ссылка на комментарий
Поделиться на другие сайты

Главный вопрос!!!

А по асамблеру можна прчитать какие команды выполняютца?(Если да: Посаветуй какую-нибуть литературу или прогу)

Покачто я практикуюсь на PIC16f84, они дишовые и перепрошивать можно не однакрктно.

Портов мне покачто хватает. Я вот думаю с дисплеями по экспериментировать, вот тогда сменю на какой-нибуть другой! :P

Ссылка на комментарий
Поделиться на другие сайты

По тексту ассемблерной программы можно прочитать какие команды выполняются, но только команды на ассемблере а не на ПИК Бейсике.

Симулятор и отладчик PIC Simulator IDE

http://www.pic-avr.narod.ru/pic/simulator.htm

позволяет дизассемблировать код программы (пункт меню Tools/Disassembler), то есть из *.hex файла получить текст ассемблерной программы.

Ссылка на комментарий
Поделиться на другие сайты

PIC Simulator IDE 4.63 симулятор у меня есть (уже давно),

только я кряк для него никак не найду.

А насчет асамблера это жопа!!! :lol: Я Basic еще не асвоил. а асамблер

наверное сложный.

А может ты поможеш периписать с асамблера в (.ваs) :P

А с меня если все получитца ящик пмва :D

Она маленькая, я вот в асамблер перевел и он 24кв весит.

Посаветуй что почитать по асамблеру.

Ссылка на комментарий
Поделиться на другие сайты

Разный софт по PIC, можешь купить на дисках, инфа здесь:

http://www.pic-avr.narod.ru/buy_cd.htm

e-mail на главной странице, человек надежный, я у него покупал диск.

Ассемблера я так и не освоил, в мои 41 год жалко времени, а PicBasic это то, на чем реально простому радиолюбителю, не профессионалу в программировании, что-то работающее написать, используя готовые примеры программ.

ПикБейсиком занимался, была такая полоса в жизни, закончилось написанием статьи (опубликована в журнале Радиоаматор 1.2006), выкладываю здесь (огигинал), читайте. Давно уже не игрался с PicBasic -ом, не хватает времени, хотя интерес не прошел.

________.zip

Ссылка на комментарий
Поделиться на другие сайты

Разный софт по PIC, можешь купить на дисках, инфа здесь:

http://www.pic-avr.narod.ru/buy_cd.htm

e-mail на главной странице, человек надежный, я у него покупал диск.

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

Давно уже не игрался с PicBasic -ом, не хватает времени, хотя интерес не прошел.

всем, кто интересуется Бейсиками, Паскалями и Си языками под АВР и ПИКи - милости просим на сайт МикроЕлектроника

(адрес точно не помню, но он есть в сылках моего сайта)

http://www.mikroelektronika.co.yu/

Нашел случайно на днях, что эти же разработчики написали компилятор и под АВР ! (раньше были только ПИКи)

скачал мануал, как всегда наворочено и всё приделано на свое место, :) но сложновато для начинающих

---

Для Александра: я потерял свой винт - все адреса пропали

Если есть желание пообщаться - милости просим :)

Изменено пользователем aleksandr-zh
Ссылка на комментарий
Поделиться на другие сайты

Кому надо PIC BASIC PRO Compiler 2.47, сюда:

http://kazus.ru/forum/topics/f_18557.html#18 557

"""Для Александра: я потерял свой винт - все адреса пропали

Если есть желание пообщаться - милости просим"""

Напишу, жди.

Изменено пользователем alder
Ссылка на комментарий
Поделиться на другие сайты

  • 5 недель спустя...

Люди добрые-помогите!

пытаюсь сделать термометр на TCN75, программирую на MicrocodeStudio picpasic pro

никак не могу разобраться с работой I2C шины

перелопатил примеры, даташиты на 16ф84, тсн75.... ничего не помогает...

как пользоваться функциями I2CREAD, I2CWrite?

спасибо

Ссылка на комментарий
Поделиться на другие сайты

MaxRG, ну что, не отвечают на вопрос. Я, к сожалению, практической стороны вопроса по работе с I2C шиной не знаю. Приглашаю всех сюда:

http://www.pro-radio.ru/controllers/2220-1/

там где-то страницы с седьмой начали осваивать PicBasic. Также читайте другие темы раздела «Микроконтроллеры»:

http://www.pro-radio.ru/controllers/

Ссылка на комментарий
Поделиться на другие сайты

Да уж, не отвечают.....

мучаюсь уже который день, думаю DS1820 купить (однопроводную)

но с этим надо тоже разобраться...

чтото намудрил на микроэлектрониковском бэйсике, но сам понять не могу

везде написано, что надо ставить подтягивающие резисторы на +5В

у меня один стоит на землю (SDA 3.9 кОм) второй на +(5.1 кОм)

только в такой ситуации результат отличный от 0 и 255 (прыгает в районе 25 градусов)

но бывают ошибки (и часто) когда показывает 0-1 град

уже всю голову сломал...

кто-нибудь работал с этой шиной???? I2C....

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

я недавно цеплял дисплей от мотороллы 191 к контроллеру и скажу тебе так , 2 резистора от плюса на sdl scl примерно на 2.2 ком и у меня все заработало. , вообще далласовский датчик рулит, мне понравилось с ним работать, если хощ пиши на почту расскажу подробнее

Помогая другим ты помогаеш, себе

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...
Христос воскрес! Всех с праздником.

Вот только что нашел и скачал русский перевод описания языка Pic Basic Pro, здесь:

http://kazus.ru/programs/viewdownloaddetai...0/lid_8068.html

перевод намного лучше, чем мой, отлично.

А нет ли другой ссылки на это же или что-то подобное на русском? Не то там какие-то SMSки писать куда-то надо........

Ссылка на комментарий
Поделиться на другие сайты

Приложение к моей статье на сайте журнала Радиоаматор:

"Урок программирования на PicBasic Pro"

http://www.ra-publish.com.ua/arc-ra.html

Прямая ссылка:

http://www.ra-publish.com.ua/programs/ICD.zip

Ссылка на комментарий
Поделиться на другие сайты

Приложение к моей статье на сайте журнала Радиоаматор:

"Урок программирования на PicBasic Pro"

http://www.ra-publish.com.ua/arc-ra.html

Прямая ссылка:

http://www.ra-publish.com.ua/programs/ICD.zip

Спасибо бальшое :)

А ещё что-нибудь такоеже хорошее есть (для начинающих)?

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

У меня проблем с записью по шине нет. Работает с ТДА7313.

Подтягивающие резисторы по 5,1к.

i2c:

I2CWrite SDA,CLK,$88,vol,tre,bas,balfl,balfr,balrl,balrr,comutator, i2c

return

За SDA, CLK закреплены порты. $88 - адрес имс,остальное байты команд.

i2c - метка в случае ошибки передачи.

Ссылка на комментарий
Поделиться на другие сайты

У меня проблем с записью по шине нет. Работает с ТДА7313.

Подтягивающие резисторы по 5,1к.

i2c:

I2CWrite SDA,CLK,$88,vol,tre,bas,balfl,balfr,balrl,balrr,comutator, i2c

return

За SDA, CLK закреплены порты. $88 - адрес имс,остальное байты команд.

i2c - метка в случае ошибки передачи.

а сигналы старт и стоп ?

Помогая другим ты помогаеш, себе

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Сообщения

    • Повторюсь - НЕТ, так как у вас там крутилки, что приведет к искажениям при работе в мостовой схеме.
    • Все верно, вы почти все что нужно сделали.  Только не нужно было добавлять это b=UDR; Сразу после старта сбросить флаг flags = 0; А в основном цикле ждать установки флага FLAG_END_RX. И если он установлен, проверять на совпадение строки в буфере (rx_buf) с вашей строкой (AT+QM \ r \ n .....   .....  AT+MP \ r \ n) При совпадении вызывать выполнение нужного алгоритма.
    • У меня до саба ещё дело не дошло, только сейчас думаю купить амп на полкиловатта, но так можно, при условии, что на входе будет моно, и будет срез частот
    • Про флаг Т: если он не используется в основной программе, а у меня он постоянно в деле. для меня меня отложенная обработка прерывания обычное дело, нужно лишь правильно расставить приоритеты частей программы. И обычное дело: выставляешь частоту задающего генератора побольше, делишь его до получения частоты 1000 Гц каким либо таймером, загоняешь в прерывание с флагом. затем закольцовываешь основную программу с проверкой флага прерывания от таймера 1000Гц. загоняешь программу в Sleep. Получаешь кольцо обработки с образцовым интервалом в 1 мс. После любого прерывания проверяешь флаг от таймера, если он, то сбрасываешь флаг и начинаешь перебирать подпрограммы обработки индикаторов, клавиатуры, и тд. и тп, подпрограммы обработки флагов и др. После окончания обработки всех подпрограмм возвращаешься к Sleep. И так по кольцу. Если происходит прерывание не от таймера, программа выходит из Sleep, проверяется флаг от таймера, если не он (а это не он) обратно к Sleep. В большенстве программ использую этот алгоритм.   GPIOR1 и GPIOR2 в 88 условно можно использовать как флаги, но их адреса больше 0х1Е, на них не распространяются команды cbi, sbi, sbic, sbis, и их сначала нужно загрузить в общий регистр, промодифицировать, и заново сохранить. Эта последовательность длинная, и модифицирует SREG, что сводит на нет работу по сравнению с  классическим GPIOR.
    • @korsaj Сегодня попробовал сделать как ты посоветовал. Получился следующий код. #define F_CPU 7372800UL #define BAUND 9600L #define UBRRL_value (F_CPU/(BAUND*16))-1 #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdlib.h> void init_pin(void); #define C_PC0 (~PINC&(1<<PC0)) #define C_PC1 (~PINC&(1<<PC1)) #define LED_1_ON() PORTD|=(1<<PD2) #define LED_1_OFF() PORTD&=~(1<<PD2) #define LED_2_ON() PORTD|=(1<<PD3) #define LED_2_OFF() PORTD&=~(1<<PD3) #define FLAG_END_RX (1<<3) #define FLAG_ERR_RX (1<<4) #define BUF_SIZE 20 char rx_buf[BUF_SIZE]; char buf_index = 0; volatile start=1, flags; char b; ISR(USART_RXC_vect) { b=UDR; if(!(flags & FLAG_END_RX)) { rx_buf[buf_index]=UDR; if(rx_buf[buf_index] == 0x0D) { flags |= FLAG_END_RX; return; } buf_index++; if(buf_index >= BUF_SIZE) { buf_index = 0; flags |= FLAG_ERR_RX; } } } void init_UART() { UBRRL = UBRRL_value; UBRRH = UBRRL_value>>8; UCSRB|=(1<<TXEN); UCSRB|=(1<<RXEN); UCSRC|=((1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1)); UCSRB|=(1<<RXCIE); sei(); flags = 0; } void send_UART(char value) { while(!(UCSRA&(1<<UDRE))); UDR=value; } int main(void) { init_pin(); init_UART(); while(1) { if (start==1) { _delay_ms(500); send_UART('O'); send_UART('K'); send_UART('!'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); start=0; } if (b == '0') { LED_1_ON(); LED_2_OFF(); send_UART('N'); send_UART('+'); send_UART('0'); send_UART('0'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '1') { LED_1_OFF(); LED_2_ON(); send_UART('N'); send_UART('+'); send_UART('0'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '2') { LED_1_ON(); LED_2_ON(); send_UART('N'); send_UART('+'); send_UART('0'); send_UART('2'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '3') { LED_1_OFF(); LED_2_OFF(); send_UART('N'); send_UART('+'); send_UART('0'); send_UART('3'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (C_PC0) { send_UART('P'); send_UART('C'); send_UART('0'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); } if (C_PC1) { send_UART('P'); send_UART('C'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); } } } void init_pin(void) { DDRC = 0b00000000; PORTC = 0b11111111; DDRD |= ((1<<2)|(1<<3)); PORTD &=~ ((1<<2)|(1<<3)); } Ну как сказать всё работает, но вот меня очень интересует приём команд на саму ATMEGA16. Он так и работает только с цифрами. Более ничего корректно принять не получается даже используя таблицу ascii. А мне нужно будет принимать команды и посложней чем просто буквенно - цифровые. Потому как возвращаясь к командам самого плеера там в этих командах хранятся различные данные. Вот примерно так это всё выглядит. AT+QM \ r \ n Запрос режима работы [0: Bluetooth], [1: MP3] AT+M1 \ r \ n Номер текущего файла AT+M2 \ r \ n Общее количество звуковых файлов AT+MD \ r \ n Источник музыки USB или SD Card AT+MT \ r \ n Общее время воспроизведения текущего файла AT+MK \ r \ n Время воспроизведения текущего файла AT+MP \ r \ n Текущее состояние плеера [0]Стоп, [1]Воспроизведение, [2]Пауза К примеру при отправке команды AT+M1 \ r \ n в ответ мы получим M1 + 000002 \ r \ n при этом здесь может быть любое число в hex формате. Мне же нужно каким то образом принять эти данные и обработать их соответствующим образом. Но при этом и нужно учитывать так же что плеер может сам отправить эти данные по началу воспроизведения трека. Вот в этом сейчас и стоит основная задача. Чего я и пытаюсь получить в итоге.
    • Ну тогда дорога к сименсу в гости - они вам какой-нибудь Desigo CC или даже Siematic предложат, тыщ за 10 долларов. Ну и ещё тыщ 5 надо будет отдать за контроллеры и их конфигурирование.   А если попроще - то можно к отечественным MasterSCADA обратиться, либо к WiredBoard - у них не совсем SCADA система, но нормальные контроллеры, довольно просто настраиваются и можно графическую оболочку рисовать.
  • Похожий контент

×
×
  • Создать...