Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Dallas Semiconductor 
V
    Опции темы
artem_from_minsk
Дата 14.3.2008, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 22.12.2007
Где: Минск

Репутация: нет
Всего: нет



Кто работает с Dallas Semiconductor откликнитесь!!!! Кто может проконсультировать как на Delphi настроить диалог с DS2450, DS2408. Вроде сделал всё как по datasheet но почему-то не работает. 
Кто работал???? Может кто знает????  smile  smile [email protected]
PM MAIL ICQ   Вверх
cardinal
Дата 15.3.2008, 01:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



Код в студию. Без него врятли кто-то поможет.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
artem_from_minsk
Дата 15.3.2008, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 22.12.2007
Где: Минск

Репутация: нет
Всего: нет



А что за код??? Мне как-то нет времени для приколов. smile 
PM MAIL ICQ   Вверх
cardinal
Дата 15.3.2008, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



Код, он же исходник. Короче то, что ты сделал
Цитата(artem_from_minsk @  14.3.2008,  22:52 Найти цитируемый пост)
роде сделал всё как по datasheet но почему-то не работает. 

выкладывай.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
artem_from_minsk
Дата 17.3.2008, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 22.12.2007
Где: Минск

Репутация: нет
Всего: нет



Цитата

unit Temperature1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, iBTMEXPW, ExtCtrls, ComCtrls, Menus, StdCtrls, Grids, jpeg, TeEngine,
  Series, TeeProcs, Chart;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    Close1: TMenuItem;
    SaveAs1: TMenuItem;
    Save1: TMenuItem;
    Print1: TMenuItem;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Button1: TButton;
    StringGrid2: TStringGrid;
    Chart2: TChart;
    Timer3: TTimer;
    procedure Button2Click(Sender: TObject);
    public
    { Public declarations }
     SHandle : longint;
     StateBuf : array[0..5120] of smallint;
     CRC8,CRC16 : Word;
     Done : boolean;
  end;
  Const
  LEVEL_SET  = 1;
  LEVEL_STRONG_PULL_UP = $01;
  PRIMED_BYTE =  2;
  PRIMED_NONE =  0;
  LEVEL_NORMAL =  $00;


var
  Form1: TForm1;
 rom,rom1,rom2 : array[0..8] of smallint;
implementation

{$R *.dfm}


procedure TForm1.Timer3Timer(Sender: TObject) ;
{$J+}
const
  j : integer = 0;
{$J-}
var
 tsht,tsht1, i, l, tmp1 : smallint;
 cr,cpc, tmpf,tmp : Extended;
 rbuf : array[0..9] of smallint ;
 st : longint;
 a,b,c,d: real;
 str, str1: string;
 romstr: string;
  h,g: integer;
 CRCByte,flag,z1,z2,CRC3: Byte;
 PortNum,PortType:smallint;

begin
   TMRom(SHandle,@stateBuf,@rom2);
   if (($20 and $7F )= (rom2[0] and $7F)) then
       begin
          for i := 7 downto 0 do
          romstr := romstr + IntToHex(ROM2[i],2);
        Label9.caption := 'Serial ROM ID :  ' + romstr;
        end;
      TMReadDefaultPort(@PortNum, @PortType);
   SHandle := TMExtendedStartSession(PortNum,PortType,NIL);
If (TMAccess(Shandle,@StateBuf)= 1) then
  begin
  CRC16 :=0;
  /////
  flag := TMTouchByte(SHandle,$55);
  CRCByte := flag;                            /////////55
  CRC16 := TMCRC(1, @CRCByte,CRC16 , 1);
  ///////
  flag := TMTouchByte(SHandle,$08);          /////////08
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  ///////
   flag := TMTouchByte(SHandle,$00);
   CRCByte := flag;                                 /////00
   CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  ////////
  flag := TMTouchByte(SHandle,$00);                //////00
   CRCByte := flag;
   CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  ////////
   flag := TMTouchByte(SHandle,$FF);
   CRCByte := flag;
   CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
   ////////////
   flag := TMTouchByte(SHandle,$FF);
   CRCByte := flag;
   CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  ////////////
  flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  ////////
  flag := TMTouchByte(SHandle,$01);                  //////01
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  ///////
   flag := TMTouchByte(SHandle,$FF);
   CRCByte := flag;
   CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
   ////////////
   flag := TMTouchByte(SHandle,$FF);
   CRCByte := flag;
   CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
   ////////////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  ////////
  flag := TMTouchByte(SHandle,$00);
  CRCByte := flag;                                 ///////00
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
   ///////
   flag := TMTouchByte(SHandle,$FF);
   CRCByte := flag;
   CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
   ////////////
   flag := TMTouchByte(SHandle,$FF);
   CRCByte := flag;
   CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
   ////////////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  //////
   flag := TMTouchByte(SHandle,$01);                 ///////01
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
   /////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  /////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  /////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);

   ///////
   flag := TMTouchByte(SHandle,$00);               ////////00
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
   /////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  /////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  /////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
   /////
   flag := TMTouchByte(SHandle,$01);         /////////01
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  /////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  /////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  /////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);

     ///////
   flag := TMTouchByte(SHandle,$00);         /////////00
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  /////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  /////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  /////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
   /////
   flag := TMTouchByte(SHandle,$01);           ///////01
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  /////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  /////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  /////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  /////
   flag := TMTouchByte(SHandle,$00);          ////////00
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  ///////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
   /////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  /////
    flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  //////
  flag := TMTouchByte(SHandle,$01);           ///////01
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
  /////
   flag := TMTouchByte(SHandle,$FF);
  CRCByte := flag;
  CRC16 := TMCRC(1, @CRCByte, CRC16, 1);

  /////
   flag := TMTouchByte(SHandle,$FF);
   CRCByte := flag;
   CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
   /////
   flag := TMTouchByte(SHandle,$FF);
   CRCByte := flag;
   CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
    ////////////
    flag := TMTouchByte(SHandle,$AA);
    CRCByte := flag;
    CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
    //////
     flag := TMTouchByte(SHandle,$00);
    CRCByte := flag;
    CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
     //////
     flag := TMTouchByte(SHandle,$00);
    CRCByte := flag;
    CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
    ////////
    CRC16:=0;
     flag := TMTouchByte(SHandle,$3C);
    CRCByte := flag;
    CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
    /////
    flag := TMTouchByte(SHandle,$0F);
    CRCByte := flag;
    CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
    ////////
    flag := TMTouchByte(SHandle,$00);
    CRCByte := flag;
    CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
    ////////
    flag:= TMTouchByte(SHandle,$FF);
    CRCByte := flag;
    CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
    ////////
    flag:= TMTouchByte(SHandle,$FF);
    CRCByte := flag;
    CRC16 := TMCRC(1, @CRCByte, CRC16, 1);
    st := GetTickCount + 1000;
    g:=1 ;
   for i := 0 to 7 do
          begin
            rbuf[i]:= TMTouchByte(Shandle, $FF);
            CRCByte := Byte(rbuf[i]); { the byte to run through CRC8 routine }
            CRC16 := TMCRC(1, @CRCByte, CRC16, 1);

            if ((i+1) mod 2 =0) then
            begin
            tsht:=rbuf[i]*256 or rbuf[i-1];
            StringGrid2.Cells[g,j] :=FloatToStr(Tsht)+'  '+FloatToStr(rbuf[i-1]);
            g:=g+1;
            end;
        end;
        flag:= TMTouchByte(Shandle, $FF);
        CRCByte := flag; { the byte to run through CRC8 routine }
        CRC16 := TMCRC(1, @CRCByte, CRC16, 1);


  j:=j+1;
  TMEndSession(Shandle);
  Done := True;

end;
end;



procedure TForm1.Button2Click(Sender: TObject);//// часовой интервал таймера

var
    b: integer;
begin
 Timer3.Enabled := True;
 b:= StrToInt(Form1.Edit2.Text);
  Timer1.Interval:=b*1000;
end;

end.



Код на делфи. СКС проверял лично подсчитывает верно, а вот когда пытаюсь получить через flag, то не совподает, тоже не знаю...хотя для работы CRC не важно...это как контроль настойки контролера...но может и по этому не получается снять данные.  Если кто поможет, могу пообещать взаимную помощь.
PM MAIL ICQ   Вверх
cardinal
Дата 17.3.2008, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



С чем подключены DS2450 и DS2408? Как подключены?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
artem_from_minsk
Дата 18.3.2008, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 22.12.2007
Где: Минск

Репутация: нет
Всего: нет



Цитата

С чем подключены DS2450 и DS2408? Как подключены? 

Подключены через 1wire к DS1990A а потом через 1wire-USB уже к компу. Cхемы пока найти не могу, если нужно могу сбросить.

PM MAIL ICQ   Вверх
cardinal
Дата 18.3.2008, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



То есть у тебя есть какое-то устройство, с которым ты должен наладить связь по USB? Где описание устройства?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
artem_from_minsk
Дата 19.3.2008, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 22.12.2007
Где: Минск

Репутация: нет
Всего: нет



Описание??? Ладно, понятно, вижу для тебя это ново.... Наверное ты мне не поможешь. Как разберусь со своими проблемами, отпишу.
PM MAIL ICQ   Вверх
cardinal
Дата 19.3.2008, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



Если так мало информации о твоем устройстве и пример на Delphi, то не помогу.

Зайди в раздел Delphi, чтоли тогда...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Mazzi
Дата 19.3.2008, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Правильный
**


Профиль
Группа: Комодератор
Сообщений: 825
Регистрация: 3.4.2003

Репутация: 9
Всего: 21



Если получаешь неправильный CRC, то значит у тебя обмен проходит неверно. Могу предположить, что не соблюдаются временные параметры сигналов. (передача/приём идут слишком быстро или слишком медленно) Посмотри обмен запоминающим осциллографом, и проанализируй. У меня были подобные проблемы. Решение - вынес обмен во внешний однокристальный контроллер.


--------------------
Мне нужны помощники.
PM MAIL WWW   Вверх
artem_from_minsk
Дата 21.3.2008, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 22.12.2007
Где: Минск

Репутация: нет
Всего: нет



Ладно мужики, нашёл в чём ошибка. Да могла быть и во времени..приём/ передача, но не в этом...СRC конечно и нужен, но лишь для контроля.....Хотя СRC вроде не совпадает, но работает верно...А кому интересны схемы устройств смотрите на www.elin.ru
PM MAIL ICQ   Вверх
artem_from_minsk
Дата 26.5.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 22.12.2007
Где: Минск

Репутация: нет
Всего: нет



Всем спасибо.Все свободны. smile 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0937 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.