»Радиолюбитель>PIC контроллеры. Программаторы и первый проект на PIC
Denis124 13:55 25.12.2009
Да кварц стоит модуляцыя идет но на выходе CCP1 ,CCP2 ничего нет
[Ответ]
Denis124 14:27 25.12.2009
Сообщение от romchik77:
В какой школе Вы учились? я бы слово здравствуйте хотя бы написал. Не, ну я понимаю конечно это интернет - язык, но все равно. Читать противно.
Еще раз прошу прощения, обидеть не хотел.
Сообщение от Denis124:
Да кварц стоит модуляцыя идет но на выходе CCP1 ,CCP2 ничего нет
А почему у Вас в коде компараторы не отключены? У Вас так кнопки на половине PORTA работать не будут. И, кстати, как у Вас кнопки подключены?
Пример от mikroE работает, проверил в железе.
[Ответ]
Bard Simpson 22:36 26.12.2009
Вот такая проблема:
программа работает в MPLAB SIM, я это вижу по состоянию регистров и EEPROM.
В PROTEUS происходит следующее: как только я его "включаю" то сразу взводится EECON1:WRERR (ошибка записи в EEPROM), и по адресам куда в дальнейшем должно писаться появляется ерунда. При этом сама программа еще не запускалась.
В "железе" похоже происходит то же самое.
[Ответ]
petrd 15:11 27.12.2009
Сообщение от Bard Simpson:
Вот такая проблема:
программа работает в MPLAB SIM, я это вижу по состоянию регистров и EEPROM.
В PROTEUS происходит следующее: как только я его "включаю" то сразу взводится EECON1:WRERR (ошибка записи в EEPROM), и по адресам куда в дальнейшем должно писаться появляется ерунда. При этом сама программа еще не запускалась.
В "железе" похоже происходит то же самое.
Прочитайте, что Вы написали! В ответ на подобное обычно на форумах говорят - "телепаты в отпуске".
[Ответ]
Denis124 14:49 08.01.2010
Проблема решена PWM работает в протеусе (мож кому пригодитса )
Проблема в следующем: нужно принять по USART 30 байт, сохранить их в EEPROM и передать обратно (для сравнения). Камень - pic16f628a, среда microC. Схема такая же как в файле справке (прикрепить картинку?)
Код:
unsigned short i, j;
Usart_Init(2400);
i = 0;
while (1)
{
if (Usart_Data_Ready())
{
j = Usart_Read();
Eeprom_Write(i, j);
Delay_ms(20);
i++;
}
if (i > 29)
{
for (i = 0; i < 30; i++)
{
j = Eeprom_Read(i);
Usart_Write(j);
}
i = 0;
}
}
МК не успевает все принимать и сохранять - успевает только первые несколько и последние, середина теряется. Данные передаю файлом через встроенный в microC терминал. Может есть возможность как-то тормозить передачу на время записи в память? Вобщем жду советов.
[Ответ]
petrd 08:45 19.01.2010
Сообщение от _new_:
Проблема в следующем: нужно принять по USART 30 байт, сохранить их в EEPROM и передать обратно (для сравнения). Камень - pic16f628a, среда microC. Схема такая же как в файле справке (прикрепить картинку?)
МК не успевает все принимать и сохранять - успевает только первые несколько и последние, середина теряется. Данные передаю файлом через встроенный в microC терминал. Может есть возможность как-то тормозить передачу на время записи в память?
1. Конечно будут потери - процесс записи EEPROM достаточно медленный + по коду задержка 20 мс, а данные из файла идут непрерывно.
2. Вариантов несколько. Первый - принимаемые данные складывать в массив, а после приема всех 30 байт записать их в EEPROM. Второй - использовать аппаратное управление, в частности задействовать CTS/RTS.
P.S. mikroC mikroC mikroC mikroC mikroC
[Ответ]
уууура у меня получилось, я забыл написать что для авр микроС
но я перенес куски кода в авр и поменял заглавные буквы и усе заработало , огромнейшее спасибо , для учебной практики в самый раз
[Ответ]
viktor110668 05:20 09.03.2010
подскажите пжлста код работы mikroC AVR ацп и графического дисплея 12864 уж сильно хочется вывести синусоиду и поучится выводить символы и разные заставки.
[Ответ]
petrd 19:34 09.03.2010
Сообщение от viktor110668:
подскажите пжлста код работы mikroC AVR ацп и графического дисплея 12864 уж сильно хочется вывести синусоиду и поучится выводить символы и разные заставки.
Сначала надо освоить графический ЖКИ, а потом синусоиду выводить ибо синусоида - это обработка, математика и алгоритмы и тут все зависит от знаний и фантазии программиста. Чем выше уровень программиста, тем проще и лучше реализация. Для вывода символов на KS108/KS107 сначала надо осовить встроенную GLCD библиотеку, дальше можно поробовать вот это http://www.pocketmt.com/. А картинки готовить для вывода на KS108/KS107 легко при помощи встроенного GLCD Bitmap Generator'а. В примерах от mikroC коды должны быть.
[Ответ]
viktor110668 23:30 09.03.2010
Сообщение от petrd:
Сначала надо освоить графический ЖКИ, а потом синусоиду выводить ибо синусоида - это обработка, математика и алгоритмы и тут все зависит от знаний и фантазии программиста. Чем выше уровень программиста, тем проще и лучше реализация. Для вывода символов на KS108/KS107 сначала надо осовить встроенную GLCD библиотеку, дальше можно поробовать вот это http://www.pocketmt.com/. А картинки готовить для вывода на KS108/KS107 легко при помощи встроенного GLCD Bitmap Generator'а. В примерах от mikroC коды должны быть.
все легче осваивать на примерах наглядно, вот вы мне дали пример работы с
индикатором 16х2 я уже освоил математические методы вычисления значений, и сделал вольтметр омметр со звуковой индикацией и цифровым отображением на дисплее 16х2, я сам автоэлектрик и мне нужен такой приборчик. теперь я хочу своими руками и мозгами достичь других результатов, я тут увидел диагностический приборчик для машин и решил соорудить подобие его но на графическом дисплее
в котором будет осциллограф до 200 кгц(достаточно) волтметр омметр и диагностика систем отечественных авто, схема уже есть , отработана система протокола обмена с авто по кл адаптеру ну тут я размахнулся ( и зайца можно научить курить)
вот я и хочу на конкретных примерах сделать себе помощника(прибор)
кстати я диагностический приборчик сам сделал он на 16х2
и неудобен что читаемость плохая когда нужно посмотреть сразу три режима работы двигателя, еще я сам сделал 4 канальный осциллограф на атмега16 и компьютером через юсб теперь на моём буке есть осцилл. потихоньку развиваемся с вашей и божьей помощью. спасибо тем кто помогает.
[Ответ]
Сообщение от viktor110668:
я расписал строчки в .с файле
Так и тут ничего не понятно.
Код:
unsigned short i;
unsigned int buf[500];
void main() {
Glcd_Init(); // ????????????? GLCD
Glcd_Fill(0x00); // Clear GLCD
for (;;){ //while(1) {
buf[i] = ADC_Read(3); //чтение с ацп и запись в буфер
for(i=1;i<10;i++); // формирование графика
Delay_100ms();//задержка
for (i=1; i<buf[i]+1; i++) //?????? ??????
{
Glcd_Line(i=1,buf[i],i+90,buf[i+1],1); //?вывод графика на дисплей
};
Glcd_Fill(0); //сброс индикатора
};
}
Что у Вас вот это должно делать?
Код:
for(i=1;i<10;i++); // формирование графика
Оно же ничего не делает, кроме как увеличивает переменную i, которая в начале следующего цикла
Код:
for (i=1; i<buf[i]+1; i++)
Glcd_Line(i=1,buf[i],i+90,buf[i+1],1);
проинициализируется и станет равной 1, а что Вы вот этим i<buf[i]+1 и этим Glcd_Line(i=1... хотели сделать? Ну и еще т.п.
[Ответ]
viktor110668 13:11 15.03.2010
i<buf[i]+1 это я из буфера данные выкладываю на график
Glcd_Line(i=1...здесь выводит на дисплей только я сейчас поставил i<1 ничего не изменилось
напишите как надо написать функцию прорисовки графика ато у меня никаких нарабоок нет вот сам шишки и набиваю
хотябы примерчик какой посмотреть
[Ответ]
seysen 12:04 26.03.2010
Здравствуйте!
Задумал я делать HID устройство для компьютера. Чую много времени пройдет пока я его реализую, но не в этом дело. Возник у меня вопрос а как подбирать микросхему для своих задач? Есть ли у кого-нибудь опыт работы с USB устройствами?
С уважением, seysen
[Ответ]
petrd 15:03 27.03.2010
Сообщение от seysen:
Здравствуйте!
Возник у меня вопрос а как подбирать микросхему для своих задач?
Ну это будет скорее всего микроконтроллер - PIC, AVR и т.д..
1. Если брать PIC, то это однозначно с модулем USB (PIC18, PIC24, PIC32) Low и Full.
2. Можно брать обычный AVR, но тогда будет Low Speed USB (12 МГц), а AVR с модулем USB будет и Low и Full.
Никто Вам точно не скажет как выбирать, можно высказать только свои личные предпочтения, а выбирать все равно Вам.
[Ответ]
seysen 20:11 30.03.2010
Ни как не могу найти нечто подобное сводной таблицы по характеристикам микроконтроллеров. Неужели нужно документацию по каждому контроллеру в отдельности просматривать? [Ответ]
petrd 20:40 30.03.2010
Сообщение от seysen:
Ни как не могу найти нечто подобное сводной таблицы по характеристикам микроконтроллеров. Неужели нужно документацию по каждому контроллеру в отдельности просматривать?
Сообщение от seysen:
Здравствуйте!
Задумал я делать HID устройство для компьютера. Чую много времени пройдет пока я его реализую, но не в этом дело. Возник у меня вопрос а как подбирать микросхему для своих задач? Есть ли у кого-нибудь опыт работы с USB устройствами?
С уважением, seysen
А HID - это принципиально или просто нужно девайс по USB подключить? Если просто подключить, то VCP (Virtual COM Port) тебе в помощь т.е. FT232RL + практически любой контроллер. Дешево и сердито [Ответ]
seysen 05:56 08.04.2010
Сообщение от Horus:
А HID - это принципиально или просто нужно девайс по USB подключить? Если просто подключить, то VCP (Virtual COM Port) тебе в помощь т.е. FT232RL + практически любой контроллер. Дешево и сердито
Нужен именно HID. Не хватало мне еще свои дрова писать для контроллера)))
[Ответ]