ДЕЙЛ
Свой-
Постов
728 -
Зарегистрирован
-
Посещение
-
Победитель дней
5
Весь контент ДЕЙЛ
-
Каскадирование PLL
ДЕЙЛ ответил paskal тема в Схемотехника
Почему бы обычный буфер не поставить, если есть сомнения? Процессору без разницы, как формируется сигнал до его входа :) -
Нельзя ли тут вместо гасящих резисторов применить гасящие конденсаторы? http://grimmi.ru/kondensator-vmesto-resistora.html
-
Обмен данными между GSM-модулями
ДЕЙЛ ответил ДЕЙЛ тема в Интерфейсы
Есть такое дело, неподумавши накодил :rolleyes: Подправил свою программу ещё в некоторых местах и добавил функцию сниффера(для него ещё нужно железо). SIM900_DIALOG.rar -
Обмен данными между GSM-модулями
ДЕЙЛ ответил ДЕЙЛ тема в Интерфейсы
Вкратце вот так: procedure TForm1.RxTimerTimer(Sender: TObject); var Errors : Dword; LenReceive : DWord; i : integer; RxData, Log, NumStr : string; begin RxData := ''; ClearCommError(hCom, Errors ,@Stat);//?????????? ???? LenReceive := Stat.cbInQue; If LenReceive>0 Then Begin {1} ReadFile(hCom,RXBUF,LenReceive,LenReceive,nil); For i:=0 to LenReceive-1 Do Begin if (RXBUF[i]<>$A) and (RXBUF[i]<>$D) then begin RxData := RxData + Chr(RXBUF[i]); end else begin ListBox1.Items.Strings[ListBox1.ItemIndex] :=' '+RxData; RxData := ''; ListBox1.TopIndex := ListBox1.Items.Count - 1; end; End; End; {1} end; Данные он отправляет без приглашения, смски тоже. В прикреплённом файле только что дописанная программа для работы с SIM900. В инете не нашёл, поэтому сам сочинил. До этого ковырялся в программе от другова модуля. SIM900_DIALOG.rar -
Обмен данными между GSM-модулями
ДЕЙЛ ответил ДЕЙЛ тема в Интерфейсы
Я использую только TX-RX, остальные ножки не трогаю. Это принципиально для работы с TCP/IP? скопировал как текст из окна программы -
Обмен данными между GSM-модулями
ДЕЙЛ ответил ДЕЙЛ тема в Интерфейсы
//перезапуск AT+CFUN=1,1 yyyy //проверка регистрации в сети Send: AT+CREG?<cr><lf> AT+CREG? +CREG: 1,1 OK //проверка GPRS Send: AT+CGATT?<cr><lf> AT+CGATT? +CGATT: 1 OK //закрытие всех соединений Send: AT+CIPSHUT<cr><lf> AT+CIPSHUT SHUT OK //проверка инициализации модуля IP Send: AT+CIPSTATUS<cr><lf> AT+CIPSTATUS OK STATE: IP INITIAL //устанавливаем только одно соединение Send: AT+CIPMUX=0<cr><lf> AT+CIPMUX=0 OK //настройки GPRS Send: AT+CSTT="internet.mts.ru","mts","mts"<cr><lf> AT+CSTT="internet.mts.ru","mts","mts" OK //соединяемся с заданными настройками Send: AT+CIICR<cr><lf> AT+CIICR OK //смотрим свой IP Send: AT+CIFSR<cr><lf> AT+CIFSR 10.49.180.250 //включаем TCP-соединение Send: AT+CIPSTART="TCP","yandex.ru",80<cr><lf> AT+CIPSTART="TCP","yandex.ru",80 OK CONNECT OK //после этой команды должно появиться приглашение для записи отправляемых данных Send: AT+CIPSEND<cr><lf> AT+CIPSEND и в этом месте всё виснет, никаких признаков жизни -
Обмен данными между GSM-модулями
ДЕЙЛ ответил ДЕЙЛ тема в Интерфейсы
Не появляется этот символ. Попробую сегодня вечером или в ближайшее время скопировать сюда файл лога. -
Обмен данными между GSM-модулями
ДЕЙЛ ответил ДЕЙЛ тема в Интерфейсы
делаю по шагам, как написано вот тут http://badembed.ru/sim900-tcp-soedinenie-s-serverom/ Дохожу вот до этой строки Символ готовности никак не хочет появляться даже посли 20минутного ожидания. -
Обмен данными между GSM-модулями
ДЕЙЛ ответил ДЕЙЛ тема в Интерфейсы
Можете показать полный лог команд открытия страницы яндекса, начиная с рестарта модуля при включении? -
Обмен данными между GSM-модулями
ДЕЙЛ ответил ДЕЙЛ тема в Интерфейсы
Что за пустая строка в конце? Можно скрин, если форум съедает? http://badembed.ru/sim900-tcp-soedinenie-s-serverom/ Правильно я понимаю, что команды серверу нужно формировать и отправлять в виде данных data? Или для этого нужны какие-то AT-команды? -
Обмен данными между GSM-модулями
ДЕЙЛ ответил ДЕЙЛ тема в Интерфейсы
Допустим, что соединение установилось с каким-то сервером. Дальше я хочу записать данные в конкретный файл на удалённом сервере. Какими командами нужно пользоваться? Где их найти? Как будет выглядеть AT-команда для запроса страницы yandex.ru? Т.е. в ответ на эту команду должен прийти текст вроде этого: -
Аналоговая токовая петля 4-20 mA
ДЕЙЛ ответил Nde тема в Интерфейсы
Тут желательно по частям схему промоделировать и найти источник колебаний. Частота 100 кГц может говорить о наличии задержки сигнала в какой-то цепи, в данном случае операционник в обратной связи надо получше изучить или заменить на другой, если частота колебаний изменится, то вывод однозначный - генерация обусловлена частотной характеристикой операционника, на какой-то частоте фаза сдвигается на 180 градусов, имеем положительную обратную связь и генератор в итоге. Попробуй на вход подать синусоиду или плавно изменяющийся сигнал, чтобы не возбудился паразитный генератор. В одной из своих схем я убрал такие колебания установкой конденсатора на вход одного из операционников генератора. -
Отправка пакета через USB из LPC1778 в ПК
ДЕЙЛ ответил ДЕЙЛ тема в ARM, 32bit
Опять вернулся к этой теме. Почитал Агурова и описание модуля. В моём представлении вырисовывается такая картина: 1. Подключаем разъём к ноуту, хост видит, что резистор притянул линию и отсылает запрос; 2. Устройство принимает байты запроса в буфер нулевой конечной точки, смотрит эти байты и формирует массив данных, которые хостом воспринимаются как дескриптор устройства; 3. На основании данных дескриптора хост отправляет более конкретную команду устройству и т.д. до окончания инициализации соединения. Мои соображения похожи на правду? -
Появилось предположение, что дело в разряде статичекого напряжения. Двигатель пластмассовый? На ковре висит? Электризованную пыль гоняет? Попробуй движок другого типа или из электропроводных частей.
-
Точно по земле помеха? Почему бы для эксперимента полностью не развязать гальванически МК и двигатель? Т.е. два независимых источника питания и связь только через оптопару. Ещё я посмотрел бы осциллографом шум на самой земле, т.е. между точками подключения минуса МК и минуса двигателя. Для чистоты осциллограф запитал бы от бесперебойника или от встроенного аккумулятора, если в нём такой имеется. Лучше самому осциллографом ток померить в цепи и убедиться, что двигатель не шумит. Можно попробовать другой поставить и все остальные элементы методом замены перепробовать, чтобы быть уверенным в их нормальной работоспособности и при необходимости продолжать искать неисправность в разведке земель. Дальше следует вчитываться в методы обеспечения помехоустойчивости микроконтроллеров, в частности обратить внимание на разводку дорожек под кварцем, если частоты порядка десятков мегагерц.
-
подборка схем управления двигателем есть в книжке "1000 и одна микроконтроллерная схема" _____________________________.pdf
-
Схема контроля подачи питания
ДЕЙЛ ответил john_16 тема в Схемотехника
недавно похожую схему сочинял, номиналы пересчитал под твои пороги срабатывания. Сам её один в один не макетировал, но интересно узнать результат. -
Отправка пакета через USB из LPC1778 в ПК
ДЕЙЛ ответил ДЕЙЛ тема в ARM, 32bit
Вот картинка из Агурова. Правильно я понимаю, что байты команд хоста во время инициализации можно увидеть в буфере нулевой конечной точки? Или они невидимы для программиста со стороны контроллера? -
количество циклов команды
ДЕЙЛ ответил ve4e тема в ARM, 32bit
Как-то измерял количество тактов для выполнения функции арктангенса и для вывода на дисплей. Считать слишком муторно было, поэтому пользовался обычным таймером с частотой тактирования 1:1. Перед функцикцией запускал, а после завершения сразу останавливал. В регистре счётчика таймера было количество тактов. Это если точность большая не нужна(+\- 10 тактов). Для бОльшей точности можно в пошаговом режиме отладки смотреть на счётчик циклов, а если в железе проверяется, то точками останова можно попользоваться. -
ISP программатор
ДЕЙЛ ответил ykatkov тема в Программирование
у меня LPC1778, прошиваю через JTAG, Flash Magic и самопальным способом. Вот вырезал кусок схемы, через которую Flash Magic работает. Думаю, что лишней не будет и придёшь к выводу, что проще самому спаялить, чем покупать. -
Отправка пакета через USB из LPC1778 в ПК
ДЕЙЛ ответил ДЕЙЛ тема в ARM, 32bit
для чего в описании USB фигурирует I2C? В общих чертах хотелось бы узнать. -
Стартовый загрузчик
ДЕЙЛ ответил ДЕЙЛ тема в Программирование
Оставлю тут свой код загрузчика на всякий случай, а то на домашнем компе ненадёжно. Программа принимает файл от прикреплённой программы, написанной на DELPHI. Успеть отправить надо в течение минуты после сброса. #include "iolpc1778.h" #include "LPC17xx.h" #define IAP_LOCATION 0x1fff1ff1 //точка входа в IAP (страница 896 мануала) unsigned int command[5]; unsigned int result[2]; typedef void (*IAP)(unsigned int[], unsigned int[]); unsigned char DATA[30000]; unsigned int command[5]; unsigned int result[2]; unsigned char RX; unsigned int index_RX; unsigned char RX_PAKET[18]; unsigned char CHSUM, FlagRX; unsigned int indexM, pauza, i; unsigned int adr_copy, stek; unsigned int *adres_stek; unsigned char OutPortByte; int sektor; void Out_UART0(); //otpravka paketa po UART0 void main(void) { { //INIT { //init UART0 IOCON_P1_25 = 0; //PIO FIO1DIR = 0x2200000; //Выходы PIN1_25, PIN1_11 PCONP |= 0x8; IOCON_P0_02 = 0x1; IOCON_P0_03 = 0x1; } FIO0DIR = 0x4+0x8; SCS |= 0x20; //подключение осциллятора while(!(SCS&0x40)){} //ожидание запуска PLL0CON |= 0x01; PLL0CFG |= 0x09; PLL0FEED = 0xAA; PLL0FEED = 0x55; CCLKSEL |= 0x100; PCLKSEL = 1; CLKSRCSEL |= 1; U0LCR |= 0x83; //razrecchenie dostupa k delitely U0DLL = 0xC8; //0xF0;//0xA0; //0x14; //0x4E; //nastrojka delitelya U0LCR &=~0x80; //zapret dostupa k delitely U0IER |= 0x1+0x4;//Разрешение прерываний UART0 //__enable_irq(); //Разрешение //__set_FAULTMASK(0); //всех прерываний //__set_BASEPRI(0); //Отключение маскирования //__set_CONTROL(0); AIRCR = 0x05FA0200; IP1 = 0x00000800; } NVIC_EnableIRQ(UART0_IRQn); //Enable IRQ UART0 (ISER0=32) indexM = 0; index_RX = 1; while(1) { if (index_RX>5) { if ((DATA[index_RX-1]==0x11)&(DATA[index_RX-2]==0x22)&(DATA[index_RX-3]==0x33)&(DATA[index_RX-4]==0x44)) самопальный признак конца файла HEX { FlagRX = 0; //COPY_FLASH adr_copy = (unsigned int)&DATA[4096]; IAP iap_entry; iap_entry = (IAP) IAP_LOCATION; for (sektor=1; sektor<5; sektor++) { //_______ПОДГОТОВИТЬ СЕКТОР К ЗАПИСИ_______// { command[0] = 50; //код команды command[1] = sektor; //начальный номер сектора command[2] = sektor; //конечный номер сектора iap_entry (command, result); } //_______ПОДГОТОВИЛИ СЕКТОР К ЗАПИСИ______// //_______СТЕРЕТЬ СЕКТОР_______// { command[0] = 52; //код команды command[1] = sektor; //начальный номер сектора command[2] = sektor; //конечный номер сектора command[3] = 120000; //системная тактовая частота в кГц iap_entry (command, result); } //_______СТЁРЛИ СЕКТОР______// //_______ПОДГОТОВИТЬ СЕКТОР К ЗАПИСИ_______// { command[0] = 50; //код команды command[1] = sektor; //начальный номер сектора command[2] = sektor; //конечный номер сектора iap_entry (command, result); } //_______ПОДГОТОВИЛИ СЕКТОР К ЗАПИСИ______// //_______КОПИРОВАТЬ ОПЕРАТИВНУЮ ПАМЯТЬ ВО ФЛЕШ_______// { command[0] = 51; //код команды command[1] = 0x1000*sektor; //начальный адрес перезаписываемой флеш command[2] = adr_copy+4096*(sektor-1); //начальный адрес оперативной памяти, откуда нужно копировать command[3] = 4096; //число байт для копирования command[4] = 120000; //системная тактовая частота в кГц iap_entry (command, result); } //_______СКОПИРОВАЛИ СЕКТОР______// //END_FLASH } VTOR = 0x1000; adres_stek = (unsigned int*)0x1000; stek = (unsigned int)*adres_stek; __set_MSP(stek); asm("mov R1, #0x1004"); asm("ldr R2, [R1]"); asm("BX R2"); } } } } void Out_UART0() { while (!(U0LSR&0x20)); U0THR=0xA0; //признак ответа для программы на ПК } void UART0_IRQHandler(void) { DATA[index_RX] = U0RBR; index_RX++; NVIC_ClearPendingIRQ(UART0_IRQn); return; } __________.rar -
Пмомгите начать с Qt
ДЕЙЛ ответил ДЕЙЛ тема в Программирование
Скачал Creator, поставил. Открыл им скачанный пример пректа Hello World. Могу редактировать исходник, но непонятно как его запустить. Неактивна кнопка запуска. Вот к сообщению прилепил самый первый пример проекта. В какой программе и какую последовательность действий нужно сделать с этим примером, чтобы появилось то самое окно с надписью? Hello.rar -
Пмомгите начать с Qt
ДЕЙЛ ответил ДЕЙЛ тема в Программирование
Согласен, но всё равно никак не нахожу редактор кода. Его вижу только через Форма->Показать код... , но там ничего менять нельзя и никакой подсветки синтаксиса. -
Пмомгите начать с Qt
ДЕЙЛ ответил ДЕЙЛ тема в Программирование
Вот открыл Шлее - в самом начале пример Hello World и ни слова о том, как открыть этот самый редактор для печатания примера. Версия 4.8.4 А где искать QtCreator? В папке с программой его нет.