Изучение уязвимостей электронных систем.
 
key programming immo tools emergency start device программаторы ключа заводилки Кодграббер штатных охранных систем, toyota, lexus, subaru.

Вернуться   Изучение уязвимостей электронных систем > Для начинающих > Программирование микроконтроллеров

Программирование микроконтроллеров Темы касающиеся программированию микроконтроллеров разных производителей.

Ответ
 
Опции темы
Старый 01.03.2010, 08:50   #1
vituha
Гость
 
Сообщений: n/a
По умолчанию вопрос по mikro C

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

//Declarations------------------------------------------------------------------
const code char truck_bmp[1024];
//--------------------------------------------------------------end-declarations

// Glcd module connections
char GLCD_DataPort at PORTC;
char GLCD_DataPort_Direction at DDRC;
  Ответить с цитированием
Старый 01.03.2010, 17:56   #2
hex
начинающий фрикер
 
Регистрация: 16.01.2010
Сообщений: 531
Поблагодарил: 11
Поблагодарили 86 раз в 81 сообщениях
hex стоит на развилке
По умолчанию

ну написано же-Declarations и Glcd module connections))) обьявление переменных, в чем проблема то?
hex вне форума   Ответить с цитированием
Старый 05.03.2010, 06:32   #3
vituha
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от hex Посмотреть сообщение
ну написано же-Declarations и Glcd module connections))) обьявление переменных, в чем проблема то?

ладно с этим разобрался,
я пытаюсь взять сигнал в виде синусоиды и вывести на дисплей
но у меня выводится только горизонтальная линия а синусоиды не получается где я недописал?
в архиве файл для протеуса
Вложения
Тип файла: rar 1.rar (65.0 Кб, 5 просмотров)
  Ответить с цитированием
Старый 05.03.2010, 11:19   #4
hex
начинающий фрикер
 
Регистрация: 16.01.2010
Сообщений: 531
Поблагодарил: 11
Поблагодарили 86 раз в 81 сообщениях
hex стоит на развилке
По умолчанию

чуть позже гляну. а пока....
ты пытаешся взять сигнал в виде синусоиды? непонятен етот момент, ты не пытайся, а возьми сигнал в виде синусоиды, я имею ввиду ты должен быть уверен в етом. может правильнее будет" я беру сигнал в виде синусоиды и ПЫТАЮСЬ вывести на дисплей". заметил как изменился смысл? ето важно, потому что программирование начинается в твоем сознании и результат во многом зависит от способа мышления.
еще, что тебе мешает сделать пошаговую симуляцию и проследить путь синусоиды вплоть до дисплея. решив проблему самостоятельно, ты много приобр.
hex вне форума   Ответить с цитированием
Старый 05.03.2010, 12:31   #5
vituha
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от hex Посмотреть сообщение
чуть позже гляну. а пока....
ты пытаешся взять сигнал в виде синусоиды? непонятен етот момент, ты не пытайся, а возьми сигнал в виде синусоиды, я имею ввиду ты должен быть уверен в етом. может правильнее будет" я беру сигнал в виде синусоиды и ПЫТАЮСЬ вывести на дисплей". заметил как изменился смысл? ето важно, потому что программирование начинается в твоем сознании и результат во многом зависит от способа мышления.
еще, что тебе мешает сделать пошаговую симуляцию и проследить путь синусоиды вплоть до дисплея. решив проблему самостоятельно, ты много приобр.

замечания вполне правильные вот и я опыта начинаю набиратся на подзатыльниках но
былбы еще мануал на русском
щас попробую просимулировать
  Ответить с цитированием
Старый 05.03.2010, 18:37   #6
hex
начинающий фрикер
 
Регистрация: 16.01.2010
Сообщений: 531
Поблагодарил: 11
Поблагодарили 86 раз в 81 сообщениях
hex стоит на развилке
По умолчанию

думаю первое что тебе надо проверить, ето то что лсд показывает именно то что ты ему даешь, вручную дай ему данные и проверь правильно он отрабатывает вход?
после етого уже смотри как твоя синусоида проходит в процессоре к лсд
hex вне форума   Ответить с цитированием
Старый 05.03.2010, 21:30   #7
vituha
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от hex Посмотреть сообщение
думаю первое что тебе надо проверить, ето то что лсд показывает именно то что ты ему даешь, вручную дай ему данные и проверь правильно он отрабатывает вход?
после етого уже смотри как твоя синусоида проходит в процессоре к лсд

А написал я правильно програму?
  Ответить с цитированием
Старый 06.03.2010, 03:06   #8
hex
начинающий фрикер
 
Регистрация: 16.01.2010
Сообщений: 531
Поблагодарил: 11
Поблагодарили 86 раз в 81 сообщениях
hex стоит на развилке
По умолчанию

я полагаю что если бы ты ее правильно написал она работала бы.
в протеусе увидел ты генератор влупил сразу на несколько входов, ты уж определись.
дальше....
adc_rd = ADC_Read(3);
String = adc_rd;
Glcd_H_Line(String, 0, 32, 1);
етот участок кода я так понимаю по твоему замыслу и должен принимать синусоиду и выводить ее на лсд? что то у тебя с типами напутано(както стремно int привел к byte/char), посмотри прототипы функций.
Glcd_H_Line(String, 0, 32, 1); что ты етим хотел сказать?
и что там у тебя с инициализацией adc?
hex вне форума   Ответить с цитированием
Старый 14.03.2010, 00:57   #9
vituha
Гость
 
Сообщений: n/a
По умолчанию

посмотри я тут нацарапал неимоверными усилиями в перерывах читал литературу
и вот что вышло
Вложения
Тип файла: rar 2.rar (53.4 Кб, 3 просмотров)
  Ответить с цитированием
Старый 14.03.2010, 11:07   #10
hex
начинающий фрикер
 
Регистрация: 16.01.2010
Сообщений: 531
Поблагодарил: 11
Поблагодарили 86 раз в 81 сообщениях
hex стоит на развилке
По умолчанию

какой прототип у ADC_Read? если я неошибаюсь то unsigned int ADC_Read(unsigned char channel);
а теперь смотри:
ты читаеш значение
adc_rd = ADC_Read(3); // get ADC value from 2nd channel
потом ето единственное значение записываеш в buf[0] зачем?
и второй момент, неявное преобразование int в byte, зачем тебе byte?
работай с int.
buf[i] = adc_rd;
непонятна длительность следующего цикла
for (i=0; i<buf[i]; i++) //записываем измерения в буфер
buf[i]=read_adc(0); ето было закоментировано
////////////////////////////
unsigned int buf[100];
void main(){
читай сразу в буфер без всяких преобразований
for(int i=0;i<100;i++) сколько тебе надо чтобы в буфере было данных,100,может 1000?(задержку если надо поставь)
buf[i]=ADC_Read(3);
....ну и дальше имея полный буфер данных делай уже с ними что угодно, что там у тебя, нормализация? ну подготовка вывода на дисплей как я понял.
hex вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Проблема] вопрос abramov Программирование микроконтроллеров 0 22.10.2013 01:25
ВОПРОС ПОТАП Флейм 0 31.07.2013 17:09
Вопрос vinchester Новости форума 2 07.06.2013 11:58
вопрос по птс sol!D@T Флейм 3 30.04.2011 20:55
Вопрос по IP? Президент Флейм 0 28.10.2009 17:10


Текущее время: 10:41. Часовой пояс GMT +4.


Перевод: zCarot