Большой Воронежский Форум

Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел.
Вернуться   Большой Воронежский Форум » Компьютеры и все, что с ними связано » »Радиолюбитель
Программирование микроконтролеров,ремонт аудио/видео/бытовой техники,полезные устройства для дома,телефония, обсуждение статей журнала Радио

Ответ
 
Опции темы
Старый 08.05.2010, 20:04   #481   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от SD_Prog Посмотреть сообщение
Да есть уже внете такой проект sova-c60.narod.ru
gsm-c45.narod.ru
Недавно начал заниматься этой темой. Очень интересно. Предлагаю развивать эту тему, либо травить плату, собирать схему, или купить конструктор у Евгения. Пробовать писать код. ДЕМО версию прошивки он уже выложил. Там есть ограничения.
Личное ИМХО. Тема в таком варианте развития вряд ли получит, т.к.:
1. У меня допустим таких телефонов нет, а искать раритет для одного раза не очень тянет. Ну разве что если кто подарит. Опять же, если сегодня найду телефон, а завтра может уже и не найдешь. Опять же прошивка - демо, а исходники? Опять изобретать велосипед?
2. Опять же предложенное направление мало перспективное. Для разработки устройств с GSM каналом выпускаются специально заточенные модули (недавно уже упоминал - например, SIM300 в разных модификациях - http://www.terraelectronica.ru/catal...&Gde=2&PageS=1 и цены не заоблачные) под которые разработчики пердлагают и протоколы и исходные коды и демо-платы. А если все открыто и большинство с этим работает, то и спросить про непонятное можно и поделиться опытом.
  Ответить с цитированием
Старый 11.05.2010, 22:53   #482   
Форумец
 
Аватар для Cortetey
 
Сообщений: 206
Регистрация: 03.02.2009
Возраст: 47

Cortetey вне форума Не в сети
полностью согласен с petrd насчет сименсов
к сожалению, умерли они((
а из дешевых и ныне выпускаемых только самсунг делает некоторые модели с rs-232 (например, Е1100), но информации по ним, мягко говоря недостаточно
  Ответить с цитированием
Старый 29.05.2010, 20:32   #483   
КваДраНутыЙ
 
Аватар для VRTP
 
Сообщений: 1,435
Регистрация: 29.05.2010

VRTP вне форума Не в сети
Парни,срочно нужен камень ATmega8L в сойке,могу поменяться на что то.
Выручайте.
  Ответить с цитированием
Старый 31.05.2010, 08:32   #484   
Форумец
 
Сообщений: 129
Регистрация: 18.02.2009
Возраст: 43

tranzistor вне форума Не в сети
Брал месяца полтора назад в Радионе на Чайковского. Вот только не помню - L или нет. Скорее всего обычная. Низковольтная мега - это критично для Вас?
  Ответить с цитированием
Старый 31.05.2010, 18:23   #485   
КваДраНутыЙ
 
Аватар для VRTP
 
Сообщений: 1,435
Регистрация: 29.05.2010

VRTP вне форума Не в сети
Спасибо Klepko,выручил!
В Радионе и сейчас есть(были),только в ДИПе.
  Ответить с цитированием
Старый 02.06.2010, 12:00   #486   
КваДраНутыЙ
 
Аватар для VRTP
 
Сообщений: 1,435
Регистрация: 29.05.2010

VRTP вне форума Не в сети
Парни,кто собирает и не смог прошить камень для Пик Кит2,оращайтесь-помогу.
  Ответить с цитированием
Старый 02.06.2010, 14:23   #487   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от VRTP Посмотреть сообщение
Парни,кто собирает и не смог прошить камень для Пик Кит2,оращайтесь-помогу.
Это о чем? Радостью делитесь, что PICKit2 собрали?
  Ответить с цитированием
Старый 02.06.2010, 21:10   #488   
КваДраНутыЙ
 
Аватар для VRTP
 
Сообщений: 1,435
Регистрация: 29.05.2010

VRTP вне форума Не в сети
Цитата:
Сообщение от petrd Посмотреть сообщение
Это о чем? Радостью делитесь, что PICKit2 собрали?
Именно
До этого мучался..............всего не перечесть,начиная с поника.Хотя справедливости ради,в каждом софте были свои ++++и свои------.
  Ответить с цитированием
Старый 16.06.2010, 12:11   #489   
Форумец
 
Сообщений: 12
Регистрация: 04.05.2010

moorzik вне форума Не в сети
очередной вопрос по ds18b20

подскажите хотябы где можно посмотреть исходник на mikroc для подключения pic по 1wire нескольких датчиков ds18b20 LCD дисплей
  Ответить с цитированием
Старый 16.06.2010, 14:02   #490   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от moorzik Посмотреть сообщение
подскажите хотябы где можно посмотреть исходник на mikroc для подключения pic по 1wire нескольких датчиков ds18b20 LCD дисплей
В help и в примерах к MikroC и смотрите. Или в чем-то проблема?
  Ответить с цитированием
Старый 22.06.2010, 06:52   #491   
Форумец
 
Сообщений: 12
Регистрация: 04.05.2010

moorzik вне форума Не в сети
я вроде все излазил не нашел подключение нескольких датчиков по одной шине. и народ подскажите почему PCF8583 время не идет и вообще оно там как то странно написано
  Ответить с цитированием
Старый 22.06.2010, 07:24   #492   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от moorzik Посмотреть сообщение
я вроде все излазил не нашел подключение нескольких датчиков по одной шине. и народ подскажите почему PCF8583 время не идет и вообще оно там как то странно написано
Так а сколько датчиков-то надо, если надо два-три и есть свободные ноги контроллера, то вешаете на свободные (так проще), если ног не хватает, то вешаете в параллель, но тогда надо будет в коде работать с серийными номерами датчиков (так сложнее).
А насчет PCF8583, обмен по шине есть? Кварц работает? Что с битом старта?
  Ответить с цитированием
Старый 23.06.2010, 09:43   #493   
Форумец
 
Сообщений: 12
Регистрация: 04.05.2010

moorzik вне форума Не в сети
Цитата:
Сообщение от petrd Посмотреть сообщение
Так а сколько датчиков-то надо, если надо два-три и есть свободные ноги контроллера, то вешаете на свободные (так проще), если ног не хватает, то вешаете в параллель, но тогда надо будет в коде работать с серийными номерами датчиков (так сложнее).
А насчет PCF8583, обмен по шине есть? Кварц работает? Что с битом старта?
я начинающий поэтому пока учусь на примерах испльзую пример из микрос по pcf мне там не понятно что делать с ногой INT (7) b c ногой А0 (3) может у меня в этом проблемма ?
  Ответить с цитированием
Старый 23.06.2010, 10:17   #494   
Форумец
 
Сообщений: 12
Регистрация: 04.05.2010

moorzik вне форума Не в сети
чтение


struct TTime {
char year, month, day, hours, minutes, seconds;
} TimeRead;

char yearmod4, byteRead;

void Display_Time() {
char txt[11];
// output values to LCD display
txt[0] = (TimeRead.day / 10) + 48;
txt[1] = (TimeRead.day % 10) + 48;
txt[2] = '/';
txt[3] = (TimeRead.month / 10) + 48;
txt[4] = (TimeRead.month % 10) + 48;
txt[5] = '/';
txt[6] = '2';
txt[7] = (TimeRead.year / 100) + 48;
txt[8] = ((TimeRead.year % 100) / 10) + 48;
txt[9] = (TimeRead.year % 10) + 48;
txt[10] = 0; // null to terminate the string
Lcd_Out(1,7,txt);

txt[0] = (TimeRead.hours / 10) + 48;
txt[1] = (TimeRead.hours % 10) + 48;
txt[2] = ':';
txt[3] = (TimeRead.minutes / 10) + 48;
txt[4] = (TimeRead.minutes % 10) + 48;
txt[5] = ':';
txt[6] = (TimeRead.seconds / 10) + 48;
txt[7] = (TimeRead.seconds % 10) + 48;
txt[8] = 0; // null to terminate the string
Lcd_Out(2,7,txt);
}


void ReadTime() {
char updateYear;

updateYear = 0;

I2C_Start(); // issue start signal
I2C_Wr(0xA0); // address PCF8583
I2C_Wr(2); // first word address
I2C_Repeated_Start(); // issue repeated start signal
I2C_Wr(0xA1); // address PCF8583 for reading R/W=1

byteRead = I2C_Rd(1); // read seconds byte
TimeRead.seconds = (byteRead >> 4)*10 + (byteRead & 0x0F); // transform seconds
while (I2C_Is_Idle() = 0) // this lines are not neccessary in new versions
asm nop; // starting from mikroC 6.0.0.1

byteRead = I2C_Rd(1); // read minutes byte
TimeRead.minutes = (byteRead >> 4)*10 + (byteRead & 0x0F); // transform minutes
while (I2C_Is_Idle() = 0)
asm nop;

byteRead = I2C_Rd(1); // read hours byte
TimeRead.hours = (byteRead >> 4)*10 + (byteRead & 0x0F); // transform hours
while (I2C_Is_Idle() = 0)
asm nop;

byteRead = I2C_Rd(1); // read year/day byte
TimeRead.day = ((byteRead & 0b00110000) >> 4)*10 + (byteRead & 0x0F); // transform day
yearmod4 = (byteRead & 0b11000000) >> 6; // get year mod 4 from RTC
while (I2C_Is_Idle() = 0)
asm nop;

byteRead = I2C_Rd(0); // read weekday/month byte
TimeRead.month = ((byteRead & 0b00010000) >> 4)*10 + (byteRead & 0x0F); // transform month
while (I2C_Is_Idle() = 0)
asm nop;
I2C_Stop();

I2C_Start(); // issue start signal
I2C_Wr(0xA0); // address PCF8583
I2C_Wr(0x10); // first word address
I2C_Repeated_Start(); // issue repeated start signal
I2C_Wr(0xA1); // address PCF8583 for reading R/W=1

byteRead = I2C_Rd(0); // read year
if (yearmod4 != byteRead % 4 ) { // check if year is incremented in RTC
byteRead++; // in this case the new value should be written to RTC RAM at address 16(0x10)
updateYear = 1;
}
TimeRead.year = byteRead;

while (I2C_Is_Idle() = 0)
asm nop;
I2C_Stop();

if (updateYear > 0) {
I2C_Start(); // issue start signal
I2C_Wr(0xA0); // address PCF8530
I2C_Wr(0x10); // start from word at address 16
I2C_Wr(TimeRead.year); // write year to RAM
I2C_Stop(); // issue stop signal
}
}



void MainInit() {
ANSEL = 0;
ANSELH = 0;
Lcd_Config(&PORTB, 4, 5, 6, 3, 2, 1, 0);
Lcd_Cmd(LCD_CLEAR);
Lcd_Cmd(LCD_CURSOR_OFF);
LCD_Out(1,1,"Date: / /");
LCD_Out(2,1,"Time: : :");

I2C_Init(100000); // initialize I2C
}



void main() {
MainInit();

while (1) {
ReadTime();
Display_Time();
Delay_ms(1000);
}
}






запись

struct TTime {
char year, month, day, hours, minutes, seconds;
} TimeToWrite;


void main() {
TimeToWrite.year = 7; // 2007 (offset from 2000)
TimeToWrite.month = 12;
TimeToWrite.day = 31;
TimeToWrite.hours = 23;
TimeToWrite.minutes = 59;
TimeToWrite.seconds = 40;

I2C_Init(10000); // initialize full master mode
I2C_Start(); // issue start signal
I2C_Wr(0xA0); // address PCF8583
I2C_Wr(0); // start from word at address 0 (configuration word)
I2C_Wr(0x80); // write 0x80 to config. (pause counter...)
I2C_Wr(0); // write 0 to cents word
I2C_Wr(((TimeToWrite.seconds/10)<<4) + (TimeToWrite.seconds%10)); // write seconds word
I2C_Wr(((TimeToWrite.minutes/10)<<4) + (TimeToWrite.minutes%10)); // write minutes word
I2C_Wr(((TimeToWrite.hours/10)<<4) + (TimeToWrite.hours%10)); // write hours word
I2C_Wr(((TimeToWrite.year%4)<<6) + ((TimeToWrite.day/10)<<4) +(TimeToWrite.day%10));
I2C_Wr(((TimeToWrite.month/10)<<4) + (TimeToWrite.month%10)); // write weekday/month
I2C_Stop(); // issue stop signal

I2C_Start(); // issue start signal
I2C_Wr(0xA0); // address PCF8530
I2C_Wr(0x10); // start from word at address 16
I2C_Wr(TimeToWrite.year); // write year to RAM
I2C_Stop(); // issue stop signal

I2C_Start(); // issue start signal
I2C_Wr(0xA0); // address PCF8530
I2C_Wr(0); // start from word at address 0
I2C_Wr(0); // write 0 to config word (enable counting)
I2C_Stop(); // issue stop signal
}



пожалуйста обьясните вчем моя ошибка? PCF подключена SCL, SDA и все
время идет НАРМАЛЬНО НО через две сикунды тоесть 32, 36, 38, 40

Последний раз редактировалось moorzik; 23.06.2010 в 10:40. Причина: балбес
  Ответить с цитированием
Старый 23.06.2010, 13:03   #495   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от moorzik Посмотреть сообщение
пожалуйста обьясните вчем моя ошибка? PCF подключена SCL, SDA и все
время идет НАРМАЛЬНО НО через две сикунды тоесть 32, 36, 38, 40
1. Используйте для показа кода теги. Читать невозможно, это не текст.
2. Частота кварца контроллера какая (случайно не 4 МГц?) и какой контроллер, на чем смотрите - железо или Proteus?
3. А две секунды на ЖКИ - соответствуют реальным двум секундам или нет?
4. A0 на землю, INT - никуда, в этом коде он не используется.
5. Код откуда взят?
  Ответить с цитированием
Старый 23.06.2010, 13:11   #496   
Форумец
 
Сообщений: 12
Регистрация: 04.05.2010

moorzik вне форума Не в сети
Цитата:
Сообщение от petrd Посмотреть сообщение
1. Используйте для показа кода теги. Читать невозможно, это не текст.
2. Частота кварца контроллера какая (случайно не 4 МГц?) и какой контроллер, на чем смотрите - железо или Proteus?
3. А две секунды на ЖКИ - соответствуют реальным двум секундам или нет?
4. A0 на землю, INT - никуда, в этом коде он не используется.
1) 16f887 (pickit demoboard) lcd 2X16 на процессоре кварц не стоит
смотрю на железе
2) секунды соответствуют, временя все соответствует

токое впечатление что или s2 шина тармазит (или как всегда я )

код с примера взят
  Ответить с цитированием
Старый 23.06.2010, 13:49   #497   
Форумец
 
Сообщений: 12
Регистрация: 04.05.2010

moorzik вне форума Не в сети
как говорится низная брода ни лези в брод.
как всегда сам виноват надыбал подозрительный код и сибе голову сломал и людей заморочал. типерь нашел другой код единственное задержку уменьшил до 500 мс.
вот код опять таки с примера.

char seconds, minutes, hours, day, month, year; // Global date/time variables

// Software I2C connections
sbit Soft_I2C_Scl at RC3_bit;
sbit Soft_I2C_Sda at RC4_bit;
sbit Soft_I2C_Scl_Direction at TRISC3_bit;
sbit Soft_I2C_Sda_Direction at TRISC4_bit;
// End Software I2C connections

// LCD module connections
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;

sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;
// End LCD module connections

//--------------------- Reads time and date information from RTC (PCF8583)
void Read_Time() {

Soft_I2C_Start(); // Issue start signal
Soft_I2C_Write(0xA0); // Address PCF8583, see PCF8583 datasheet
Soft_I2C_Write(2); // Start from address 2
Soft_I2C_Start(); // Issue repeated start signal
Soft_I2C_Write(0xA1); // Address PCF8583 for reading R/W=1

seconds = Soft_I2C_Read(1); // Read seconds byte
minutes = Soft_I2C_Read(1); // Read minutes byte
hours = Soft_I2C_Read(1); // Read hours byte
day = Soft_I2C_Read(1); // Read year/day byte
month = Soft_I2C_Read(0); // Read weekday/month byte
Soft_I2C_Stop(); // Issue stop signal

}

//-------------------- Formats date and time
void Transform_Time() {
seconds = ((seconds & 0xF0) >> 4)*10 + (seconds & 0x0F); // Transform seconds
minutes = ((minutes & 0xF0) >> 4)*10 + (minutes & 0x0F); // Transform months
hours = ((hours & 0xF0) >> 4)*10 + (hours & 0x0F); // Transform hours
year = (day & 0xC0) >> 6; // Transform year
day = ((day & 0x30) >> 4)*10 + (day & 0x0F); // Transform day
month = ((month & 0x10) >> 4)*10 + (month & 0x0F); // Transform month
}

//-------------------- Output values to LCD
void Display_Time() {

Lcd_Chr(1, 6, (day / 10) + 48); // Print tens digit of day variable
Lcd_Chr(1, 7, (day % 10) + 48); // Print oness digit of day variable
Lcd_Chr(1, 9, (month / 10) + 48);
Lcd_Chr(1,10, (month % 10) + 48);
Lcd_Chr(1,15, year + 56); // Print year vaiable + 8 (start from year 2008)

Lcd_Chr(2, 6, (hours / 10) + 48);
Lcd_Chr(2, 7, (hours % 10) + 48);
Lcd_Chr(2, 9, (minutes / 10) + 48);
Lcd_Chr(2,10, (minutes % 10) + 48);
Lcd_Chr(2,12, (seconds / 10) + 48);
Lcd_Chr(2,13, (seconds % 10) + 48);
}


//------------------ Performs project-wide init
void Init_Main() {

TRISB = 0;
PORTB = 0xFF;
TRISB = 0xff;
ANSEL = 0; // Configure AN pins as digital I/O
ANSELH = 0;
Soft_I2C_Init(); // Initialize Soft I2C communication
Lcd_Init(); // Initialize LCD
Lcd_Cmd(_LCD_CLEAR); // Clear LCD display
Lcd_Cmd(_LCD_CURSOR_OFF); // Turn cursor off

Lcd_Out(1,1,"Date:"); // Prepare and output static text on LCD
Lcd_Chr(1,8,':');
Lcd_Chr(1,11,':');
Lcd_Out(2,1,"Time:");
Lcd_Chr(2,8,':');
Lcd_Chr(2,11,':');
Lcd_Out(1,12,"200");
}

//----------------- Main procedure
void main() {

Delay_ms(2000);

Init_Main(); // Perform initialization

while (1) { // Endless loop
Read_Time(); // Read time from RTC(PCF8583)
Transform_Time(); // Format date and time
Display_Time(); // Prepare and display on LCD

Delay_ms(500); // Wait 1 second
}
}
типерь буду дальше думать.
1) правда есть еще вопрос а как заставить MIKROC pro выводить на LCD дисплей русский текст??
2) подскажите как лучше сделать. Надо подключить шатл к пику используются две ноги ( условно назовем ноги А , Б) смысл такой крутиш влево садятся на землю А; А+Б; Б крутиш вправо садятся Б; А+Б; А вот я и думаю что получается алгоритм если в состоянии покоя на шатле находится на нагах 11 при повороте получается либо 10 в одну сторону либо 01 вдругую подскажите хотябы намеком как придумать данный опрос

Последний раз редактировалось moorzik; 23.06.2010 в 14:25.
  Ответить с цитированием
Старый 23.06.2010, 20:57   #498   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от moorzik Посмотреть сообщение
1) 16f887 (pickit demoboard) lcd 2X16 на процессоре кварц не стоит смотрю на железе
2) секунды соответствуют, временя все соответствует
токое впечатление что или s2 шина тармазит (или как всегда я )
код с примера взят
Что-то Вы не договорили. В примерах к компилятору такого кода нет. Нашел его на сайте MikroE. Меня больше интересовали биты конфигурации к этому примеру. Не зря искал и вот почему - в конфигурации исходного проекта установлен HS генератор, а значит этот код без изменений слова конфигурации не будет работать от внутреннего генератора. А значит Вы изменили внешний генератор на внутренний, но в код никаких изменений не внесли, а это значит, что внутренний генератор работает на 4 Мгц (по умолчанию), а программа-то расчитана на 8 Мгц, в результате все задержки увеличились в 2 раза и delay_ms(1000) отсчитывала не одну секунду, а 2 сек. Отсюда и возникла проблема.
  Ответить с цитированием
Старый 23.06.2010, 21:13   #499   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от moorzik Посмотреть сообщение
как говорится низная брода ни лези в брод.
как всегда сам виноват надыбал подозрительный код и сибе голову сломал и людей заморочал. типерь нашел другой код единственное задержку уменьшил до 500 мс.
вот код опять таки с примера.
......
типерь буду дальше думать.
1) правда есть еще вопрос а как заставить MIKROC pro выводить на LCD дисплей русский текст??
2) подскажите как лучше сделать. Надо подключить шатл к пику используются две ноги ( условно назовем ноги А , Б) смысл такой крутиш влево садятся на землю А; А+Б; Б крутиш вправо садятся Б; А+Б; А вот я и думаю что получается алгоритм если в состоянии покоя на шатле находится на нагах 11 при повороте получается либо 10 в одну сторону либо 01 вдругую подскажите хотябы намеком как придумать данный опрос
1. Код нормальный, больше DS на контроллер читать надо.
2. Софтовый I2C тоже хорошо иметь, но только когда нет аппаратного модуля MSSP.
3. Кому Вы лепите неоформатированный код, неужели трудно теги CODE или PHP вокруг кода вставить?
4. Русский текст, например, так:
Код:
void LCD_Out_Rus(char row, char column, char *text)
{
 const unsigned char russian_HD44780[]={0x41, 0xA0, 0x42, 0xA1, 0xE0, 0x45,
                                        0xA3, 0xA4, 0xA5, 0xA6, 0x4B, 0xA7,
                                        0x4D, 0x48, 0x4F, 0xA8, 0x50, 0x43,
                                        0x54, 0xA9, 0xAA, 0x58, 0xE1, 0xAB,
                                        0xAC, 0xE2, 0xAD, 0xAE, 0x62, 0xAF,
                                        0xB0, 0xB1, 0x61, 0xB2, 0xB3, 0xB4,
                                        0xE3, 0x65, 0xB6, 0xB7, 0xB8, 0xB9,
                                        0xBA, 0xBB, 0xBC, 0xBD, 0x6F, 0xBE,
                                        0x70, 0x63, 0xBF, 0x79, 0xE4, 0x78,
                                        0xE5, 0xC0, 0xC1, 0xE6, 0xC2, 0xC3,
                                        0xC4, 0xC5, 0xC6, 0xC7};

 if (*text)
  {
   if (*text > 191)
    Lcd_Chr(row, column, russian_HD44780[(*text) - 192]);
   else
    Lcd_Chr(row, column, *text);
   }
  else
   return;
 *text++;
 while(*text)
  {
   if (*text > 191)
    Lcd_Chr_Cp(russian_HD44780[(*text) - 192]);
   else
    Lcd_Chr_Cp(*text);
   text++;
  }
}

.....
LCD_Out_Rus(1,1,"ПРИВЕТ");
......
А вот как Ваш шаттл работает из Вашего описания так до конца и не понял.
  Ответить с цитированием
Старый 24.06.2010, 08:14   #500   
Форумец
 
Сообщений: 12
Регистрация: 04.05.2010

moorzik вне форума Не в сети
Цитата:
Сообщение от petrd Посмотреть сообщение
Что-то Вы не договорили. В примерах к компилятору такого кода нет. Нашел его на сайте MikroE. Меня больше интересовали биты конфигурации к этому примеру. Не зря искал и вот почему - в конфигурации исходного проекта установлен HS генератор, а значит этот код без изменений слова конфигурации не будет работать от внутреннего генератора. А значит Вы изменили внешний генератор на внутренний, но в код никаких изменений не внесли, а это значит, что внутренний генератор работает на 4 Мгц (по умолчанию), а программа-то расчитана на 8 Мгц, в результате все задержки увеличились в 2 раза и delay_ms(1000) отсчитывала не одну секунду, а 2 сек. Отсюда и возникла проблема.
у меня стоит MIKROC PRO 3.2 пример из нелпа
нет внешний и внутренний гениратор не трогал
как установленно в проект визарде 8 мГц так все и стоит
просто выбран проц и влит исходник из примера
подскажите где скачать учебник хороший по С
Шпака уже читаю! с удовольствием
а про шатл вроде все понятно

вращаем ручку в право получаем код на ногах
10
11
01

вращаем ручку в лево получаем код на ногах
01
11
10
  Ответить с цитированием
Старый 24.06.2010, 08:48   #501   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от moorzik Посмотреть сообщение
у меня стоит MIKROC PRO 3.2 пример из нелпа
нет внешний и внутренний гениратор не трогал
как установленно в проект визарде 8 мГц так все и стоит
просто выбран проц и влит исходник из примера
подскажите где скачать учебник хороший по С
1. Ну не нашел я в примерах к MikroC PRO 3.20 (3.80) аппаратного I2C с RTC, тогда покажите полный путь к папке, где он лежит.
2. Ищите в гугле Керниган и Ричи "Язык С".
  Ответить с цитированием
Старый 24.06.2010, 09:15   #502   
Форумец
 
Сообщений: 12
Регистрация: 04.05.2010

moorzik вне форума Не в сети
прикрепляю путьНажмите на изображение для увеличения
Название: форум.jpg
Просмотров: 71
Размер:	329.5 Кб
ID:	843427
  Ответить с цитированием
Старый 24.06.2010, 09:37   #503   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от moorzik Посмотреть сообщение
прикрепляю путь
Это все понятно, это софтовый I2C, меня интересует откуда вот этот код взят http://bvf.ru/forum/showpost.php?p=1...&postcount=494, с него же все началось?
  Ответить с цитированием
Старый 24.06.2010, 09:43   #504   
Форумец
 
Сообщений: 12
Регистрация: 04.05.2010

moorzik вне форума Не в сети
Цитата:
Сообщение от petrd Посмотреть сообщение
Это все понятно, это софтовый I2C, меня интересует откуда вот этот код взят http://bvf.ru/forum/showpost.php?p=1...&postcount=494, с него же все началось?
Код:
http://www.mikroe.com/app/webroot/forum/viewtopic.php?f=10&t=5974
  Ответить с цитированием
Старый 24.06.2010, 10:12   #505   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Так и я про это, там hex под 8 МГц причем должен внешний кварц, после запуска срабатывает Fail-Safe Clock Monitor (т.к. в слове конфигурации установлен бит FCMEN) и т.к. нет тактов от внешнего HS генератора, то ядро переключается на внутренний RC генератор, а он по умолчанию работает на 4 МГц. А что дальше уже говорил. Вроде все.
  Ответить с цитированием
Старый 24.06.2010, 10:26   #506   
Форумец
 
Сообщений: 12
Регистрация: 04.05.2010

moorzik вне форума Не в сети
Цитата:
Сообщение от petrd Посмотреть сообщение
Так и я про это, там hex под 8 МГц причем должен внешний кварц, после запуска срабатывает Fail-Safe Clock Monitor (т.к. в слове конфигурации установлен бит FCMEN) и т.к. нет тактов от внешнего HS генератора, то ядро переключается на внутренний RC генератор, а он по умолчанию работает на 4 МГц. А что дальше уже говорил. Вроде все.
Огромное СПАСИБО
Подскажите насколь мГц лучше кварц поставить на 16F887
а каким образом происходит выбрка нескольких устройств по С2 шине?

Последний раз редактировалось moorzik; 24.06.2010 в 10:45. Причина: Забыл
  Ответить с цитированием
Старый 24.06.2010, 10:44   #507   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от moorzik Посмотреть сообщение
Подскажите насколь лучше кварц поставить на 16F887
Смотря для чего, если надо работать с точными интервалами (частотомер, RS232 и т.п.), то надо кварц ставить или если надо чтобы программа работала быстрее чем 2MIPS (тактовая 8 МГц) максимум до 5MIPS (тактовая 20 МГц). Всяко с кварцем стабильнее будет, но появляются лишние компоненты.
  Ответить с цитированием
Старый 24.07.2010, 22:10   #508   
Форумец
 
Сообщений: 8
Регистрация: 24.07.2010
Возраст: 35

BOURNE вне форума Не в сети
Всем привет!
Только что авторизовался на вашем форуме, понравилась тема про пик. Сам сейчас в вузе начал изучать их, но там только теория без серьезных практических изысканий ,а хочу по-копать контроллеры глубже Как только придет мне заказанный 18ф4550 , начну в железе мигать диодиками и писать всякое на дисплее ,т.е. стартану с простого Но мне очень интересно, как, например, управлять светодиодиками с компа через интерфейс юсб, который поддерживается этим пиком. Ведь нужно написать драйвер какой-нибудь, и сам хотел бы состряпать простенькую оболочку, из которой можно управлять этими светодиодиками. отсюда у меня следующие вопросы:
1) хотел бы понять сам принцип такого управления, как драйвер должен взаимодействовать с этой оболочкой?
2) в чем писать оболочку? я в универе сталкивался с билдер с++ . Он подойдет?
3) как написать драйвер для девайса на пик
Пока все. Буду благодарен за любые вспомогательные советы и предложения
  Ответить с цитированием
Старый 25.07.2010, 09:37   #509   
Форумец
 
Сообщений: 1,525
Регистрация: 19.02.2009
Возраст: 53
Записей в дневнике: 1

petrd вне форума Не в сети
Цитата:
Сообщение от BOURNE Посмотреть сообщение
Всем привет!
Только что авторизовался на вашем форуме, понравилась тема про пик. Сам сейчас в вузе начал изучать их, но там только теория без серьезных практических изысканий ,а хочу по-копать контроллеры глубже Как только придет мне заказанный 18ф4550 , начну в железе мигать диодиками и писать всякое на дисплее ,т.е. стартану с простого Но мне очень интересно, как, например, управлять светодиодиками с компа через интерфейс юсб, который поддерживается этим пиком. Ведь нужно написать драйвер какой-нибудь, и сам хотел бы состряпать простенькую оболочку, из которой можно управлять этими светодиодиками. отсюда у меня следующие вопросы:
1) хотел бы понять сам принцип такого управления, как драйвер должен взаимодействовать с этой оболочкой?
2) в чем писать оболочку? я в универе сталкивался с билдер с++ . Он подойдет?
3) как написать драйвер для девайса на пик
Пока все. Буду благодарен за любые вспомогательные советы и предложения
Ну Вы к вопросу подходите по-студенчески фундаментально. Проще надо, во-первых, времени у Вас как у студента на фундаментальность однозначно не хватит, во-вторых, многие вопросы за Вас давно решены, в-третьих, так как многое уже решено, то и делается все проще, волшебные слова CDC и HID. Почитайте вот это, станет понятней:
http://microchip.com.ru/Support/USB%20apps.html
http://www.gamma.spb.ru/articles.php?i=29
http://www.remexpert.com/ipb/topic1953.html
http://www.pickit2.ru/doku.php/проек...основе.pickit2
http://www.pickit2.ru/doku.php/проек...основе.pickit2
  Ответить с цитированием
Старый 25.07.2010, 10:31   #510   
Форумец
 
Сообщений: 8
Регистрация: 24.07.2010
Возраст: 35

BOURNE вне форума Не в сети
Спасибо за ссылки Даже более, чем достаточно, по-крайней мере, сейчас. Видел по одной ссылке написание оболочки в вижуал с++. Так вот, какую программу легче использовать для данной цели : визуал или билдер?
  Ответить с цитированием
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind