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

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

нашел программу которая считывает серийный номер карточки Em-marine и выдает его в терминал. в протеусе все работает нормально а в реальности ноль..... вот такой у меня считыватель.http://www.ironlogic.by/il.NSF/pages/matrixII. думал сперва считыватель вышел из строя,взял новый такая же беда

Вот программа для codevision

#include <mega32.h>
#include <delay.h>
// 1 Wire Bus functions
#asm
.equ __w1_port=0x12 ;PORTD
.equ __w1_bit=7
#endasm
#include <1wire.h>

// Standard Input/Output functions
#include <stdio.h>
#define DS1990_FAMILY_CODE 1
#define SEARCH_ROM 0xF0
// Declare your global variables here
#define MAX_DEVICES 8
unsigned char rom_code[MAX_DEVICES][9];
// Declare your global variables here

void main(void)
{

unsigned char i,j,devices;

PORTA=0x00;
DDRA=0x00;

PORTB=0x00;
DDRB=0x00;

PORTC=0x00;
DDRC=0x00;

PORTD=0x00;
DDRD=0x00;


// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;

ACSR=0x80;
SFIOR=0x00;

w1_init();

while (1)
{
delay_ms(500);
w1_init();
devices=w1_search(SEARCH_ROM,&rom_code[0][0]);
for (i=0;i<devices;i++)
if (rom_code[i][0]==DS1990_FAMILY_CODE)
{
for (j=1;j<=6;j++)
printf(" %02X",rom_code[i][j]);
printf("\n\r");
};

};
}

посмотрел что творится на линии осциллографом форма импульсов какая то неправильная с чем может быть связана?

post-85231-0-30992000-1345966087_thumb.png

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

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

У меня точно такой же код прекрасно работает.

while (1)
{
delay_ms(500);
w1_init();
devices=w1_search(SEARCH_ROM,&rom_code[0][0]);
for (i=0;i<devices;i++)
 if (rom_code[i][0]==DS1990_FAMILY_CODE)
{  
   for (j=1;j<=6;j++)
   printf(" %02X",rom_code[i][j]);
   printf("\n\r");
};
 };

Причем именно с матриксом. )

Может в терминалке неправильные настройки? В самой программе "Терминал" точно выставили эти значения? 8 Data, 1 Stop, No Parity, Baud rate: 9600.

Попробуйте вставить в начале ( например перед delay_ms(500); ) строчку printf(" Hellow");. Если не выведет на экран, то ковыряйте настройки терминалки.

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

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

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

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

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

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

писал слово Hello. выводит в терминал без вопросов. он даже фамили код непрочитывает чтобы зайти в if. может контроллер уже шмякнулся.... PORTA уже неработает выжег его 12вольтами

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

Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

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

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

Почему порт А ? У вас в настройках порт D и bit7.

.equ __w1_port=0x12 ;PORTD

.equ __w1_bit=7

В диповском корпусе это 21 нога.

Или вы весь порт А уже убили, теперь D используете,ну тада возможно все, когда пол проца жмякнуты....

А просто этой ногой пошевелить получается?

Ну а если все таки нога убилась, то попробуйте в конфигураторе начального кода назначить следующую ногу. ))

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

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

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

Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока (материалы вебинара)

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

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

Ну чудес не бывает. Значит проц дохлый.

А матрикс у вас точно второй , всего три клемы ? Не MATRIX II EH ?

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

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

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

взял atmega8 переделал прогу для нее.... повесил подтягивающий резистор на 1K Om. импульсы стали ровные.... но все равно собака не считывает код :angry:

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

К сожалению мы не пересекаемся по процессорам. Я попробовал на atmega8535, atmega88, atmega168, atmega162, те что были. На всех отлично пашет.

Я подтяжку делаю 30 ком. Присылайте весь проект, мне кажется, что-то в настройках все таки.

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

вот проект полностью. частоту понижал до 4МГц все также. судя по картинке с осцила приемник передал процу серийный номер

prj.rar

post-85231-0-50586700-1346539325_thumb.png

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

попробовал простым ключем все прочитал нормально.....(((( блин ну неужели 2 покупаю приемник и он нерабочий..... а по осцилограмме видно же что приемник отвечает

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

Это хорошо, что простой ключик читает. Значит программа и проц не виноваты. Два одинаково неисправных считывателя это то же ерунда, не может быть.

Остается блок питания и провода. Блок питания постоянка 12 вольт, не импульсный? Провода не длинные?

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

Короче программу нужно изменить.

В место-

#define SEARCH_ROM 0xF0

написать-

#define READ_ROM 0x33

В строке-

unsigned char i,j,devices;

убрать ,devices.

Ниже добавить-

unsigned int n;

В место вашего кода напишите-

w1_init();

while (1)

{

delay_ms(500);

if(w1_init())

{

w1_write(0x33);

for(i=0;i<8;i++)rom_code[0] = w1_read();

}

for (j=1;j<=6;j++)

{n++;printf(" %02X",rom_code[0][j]); }

printf("\n\r");

};

}

Остальные настройки не трогаем и все будет норм. ))

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

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

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

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

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

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

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

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

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

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

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