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

roman_1986

Участник
  • Постов

    65
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные roman_1986


  1. 20MHz зря. Гляньте внимательно, какой надо поставить, чтобы всякие baud rate правильно получались. Лучше поставить такой, какой используется на всяких evaluation платах, чтобы примеры шли без подстройки.

    Согласен... 14.7456 мГц думаю пойдет, тем более есть в наличие много штук ))) Спасибо...

     

    Вопрос на тему JTAG - 1 и 2 ножки идут на +3,3В... это я так понимаю для питания от отладчика.... т.е. если у питание внешнее то эти ноги должны быть отключены???

  2. "Пошли дурака за водкой, он одну и принесет". Я вам когда про разъем писал даже и предположить не мог, что вы вместо проверки всего пути прохождения сигналов от компа до процессора ограничитесь проверкой только разъема.

    Виноват... Я даже не думал что проблема может быть в резюке... Спасибо большое :)

  3. Извиняюсь за совсем детское предположение - кабель менять пробовали ? И еще прозванивать вместе с кабелем прямо до ног контроллера ?

    Да... НАШЕЕЕЕЛЛЛ!!!!! СПАСИБО!!!!!!!! По непонятной причине резистор который 0 ома - в обрыве!!!!! Завтра буду менять... пока прокинул временно перемычку - РАБОТАЕТ!!!!!!

  4. На счет ножки ERASE - если ее нажать то процессор сотрется??? Или у этой ножки другая функция??? и по идее я могу ее использовать как порт???

    И на счет ножки JTAGSEL - если использовать не JTAG и SWD - нужно ли эту ножку отключать??? И что надо будет изменить???

     

    А также ножка TST??? для чего она нужна???

    Заранее спасибо...

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

    Возможно... теперь вопрос - как залить прошивку??? Винда даже не показывает что подключено какоелибо устройство((( Проверял на 3х компах разных... даже не показывает что обнаружено новое устройство.....

  6. Посмотрите USBDeview виден ли девайс в WIN, ... и не пересекается с чем/кем либо ещё из ... устройств, драйверов и тп.

     

    Посмотрел ((( невидит ((( более того, кога подключаю discovery к компу, винда даже не показывает что обнаружено новое устройство (((

  7. Доброго времени суток...

    Пришел сей девайс... Все было хорошо, пока я не стал пробовать с ним "играться"... Заморгал светодиодами и вдруг... в какойто момент система (WINDOWS) перестала видеть ST-LINK... на все запросы мне пишет что не найден ST-LINK... Пробовал разными программами... и ST-Link Upgrade и в разных средах разработки... но никто не видит его ((( Светодиоды моргают, но программатор не видится ((( В чем может быть проблема???

     

    Заранее спасибо...

  8. Доброго времени суток всем.

     

    Решил начать программировать на ARMe. Привезли мне ATSAM3N00A 20 штук, наконец до них дошли руки... Почитав даташит сделал схему:

    В двух словах об конструкции:

    1. На борту 1 RS232 постоянно, второй будет перемычками выбираться между RS232 и RS485;

    2. 4 ШИМ выхода на светодиоды;

    3. Кварц на 48 мегагерц + установленный часовой кварц;

    4. JTAG или SWD что из них лучше не знаю (на форуме много на эту тему споров, пока решил что будет JTAG);

    5. Одна кнопка S1, 4 светодиода (через транзистор, дабы не нагружать процессор);

    6. Оставшиеся ножки на разъем для расширения.

     

    Собственно вопросы по схеме:

    Посмотреть на предмет правильности подключения всех компонентов к ножкам данного процессора.

    Ножка JTAGSEL - на сколько я понял она включает JTAG отладку???

    Не совсем понятно назначение ножки ERASE...

    Нужно ли на ножку NRST (RESET по идее) делать цепочку сброса???

     

    Огромное спасибо заранее всем...

    post-24765-1384849260_thumb.jpg

  9. Наконец дошел до ассемблера. Подключил всетаки DS1307 на SDA и SCL. Сейчас ищю исходники на ассемблере для аппаратной работы с часовой микросхемой. Возможно (скорее всего) уже есть посты где описывается работа с данной микросхемой, возможно я плохо искал, но я не нашел, нашел работу с шиной И2С программно, но по непонятным причинам не могу скачать файл, скачевается хтмл страничка:(

    Если есть у когото готовый исходник по работе с шиной I2C буду очень признателен.

    Если можно на почту (на всякий случай)

    roman_1986 сабака mail.ru

     

    Спасибо заранее.

  10. Я сделал термометр использую 89С52 и DS18B20. Собрал несколько штук и увидел проблему: все термометры показывают по разному, при перезаписи прошивки ничего не изменилось, менял местами процессора, тоже самое. В чем может быть загвостка???

  11. Я нашел проблему!!!Я использую TSOP1736, а они используют другой датчик, которы отличается только временной задержкой на 300 микросекунд!!! Хотя врядли из-за этого, но буду посмотреть как изменить её, если кто знает где и как можно посмотреть эту процедуру подскажите.

  12. Опечатка?

     

    В конце п/п Receiverc5: один End If. Это нормально?

    Receiverc5:

    Getrc5(subaddress , Command)

    Subaddress = Subaddress And &B00011111 '

    If Subaddress = 0 Then

    If Command > 10 Then Command = 0 '

    '

    Select Case Command

    Case 1 :

    Command = 0

    Setup = 1

    Case 2 :

    Command = 0

    Setup =2

    Case 3 :

    Command = 0

    Setup =3

    End Select

    End If

    Return

     

    End if должен быть один это норм.

    Я вот думаю, може i2c и RC5 используют какието таймеры или переменные одинаковые???

  13. Ошибка в программе.

    Если выложишь, можно найти.

     

    Это уже почти доделаннная программа, таймер(Минутный, без секунд и часов) с управлением от пульта RC5. Проблема такая: При нажатии цифру 4 (изменение минут прибавлением на единицу), может сам по себе сбросится, или не отреагировать никак.

     

     

    $large

    Baud = 9600 ' Скорость обмена

    $crystal = 11059200 ' Частота кварца

    '---------------------------------------------------------------------------

    Config Scl = P3.6 ' I2C Clock

    Config Sda = P3.7 ' I2C Data

    '---------------------------------------------------------------------------

    Sqw Alias P3.0 ' Square Pulse Out

    Hour10 Alias P1.7 ' 10 Hour

    '------------------------------------------------------------------------

    Dim Command As Byte , Subaddress As Byte

    Dim Reg_sec As Byte ' Секунды

    Dim Reg_min As Byte ' Минуты

    Dim Reg_hour As Byte ' Часы

    Dim Tempb As Byte

    Dim Temp1b As Byte

    Dim Temp2b As Byte

    Dim Temp3b As Byte

    Dim Setup As Byte

    Setup = 3

    '---------------------------------------------------------------------------

    Const Segpat0 = &B00111111 ' 0 ****A***

    Const Segpat1 = &B00000110 ' 1 * *

    Const Segpat2 = &B01011011 ' 2 F B

    Const Segpat3 = &B01001111 ' 3 * *

    Const Segpat4 = &B01100110 ' 4 ****G***

    Const Segpat5 = &B01101101 ' 5 * *

    Const Segpat6 = &B01111101 ' 6 E C

    Const Segpat7 = &B00100111 ' 7 * *

    Const Segpat8 = &B01111111 ' 8 ****D***

    Const Segpat9 = &B01101111 ' 9

    Const Segpblk = &B00000000 ' A BLANK

    '---------------------------------------------------------------------------

    Const Ds1307w = &HD0 ' Байт записи

    Const Ds1307r = &HD1 ' Байт чтения

    '---------------------------------------------------------------------------

    Gosub Clock_init

    '---------------------------------------------------------------------------

    Reset Tcon.0

    On Int0 Receiverc5

    Enable Int0

    Enable Interrupts

    '***************Основная часть программы**********************

    Do '

    Disable Int0 ' Запретить прерывание

     

    Select Case Setup

    Case 1 :

    Gosub Read_ds1307 'Чтение данных с часов

    Enable Int0

    Gosub Displaysub 'Вывод на табло

    Tempb = Reg_sec And &B01110000 ' Точки

    If Sqw = 1 Then

    Set Colon_d1

    Set Colon_d2

    Else

    Reset Colon_d1

    Reset Colon_d2

    End If

    Disable Int0

    '

    '//////////////////////////////////////////////////////////////////////////////

    Case 2:

    Tempb = Reg_min And &B01110000 ' Получаем десятки минут!!!

    Reg_min = Reg_min And &B00001111 ' Получаем единицы минут

    Reg_min = Reg_min + 1

    If Reg_min > 9 Then

    Reg_min = 0

    Tempb = Tempb + &B00010000

    If Tempb > &B01010000 Then

    Tempb = 0

    End If

    End If

    '

    Reg_min = Reg_min Or Tempb

    '

    I2cstart ' Generate start

    I2cwbyte Ds1307w ' Slave adsress

    I2cwbyte &H00 ' Address of Control REG

    I2cwbyte &H00 ' Address of Control REG

    I2cwbyte Reg_min ' Clear Second

    I2cstop

    Setup = 1

    '-*/-*/-*/-*/-*/-*/-*/-*/-/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/

    Case 3:

    Reg_min = &B00000000 'Сбросить минуты на 0

    '

    I2cstart ' Generate start

    I2cwbyte Ds1307w ' Slave adsress

    I2cwbyte &H00 ' Address of Control REG

    I2cwbyte &H00 ' Address of Control REG

    I2cwbyte Reg_min ' Clear Second

    I2cstop

    Setup = 0

    Gosub Displaysub

    End Select

    '=--=-=-=-=---=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=

    Enable Int0 '

    For Tempb = 0 To 25

    nop

    Next Tempb

    '

    Loop '

    '*************************************************************'

    '---------------------------------------------------------------------------

    Read_ds1307: ' Чтение времени

    '

    I2cstart ' Старт передачи

    I2cwbyte Ds1307w ' Передаем байт записи

    I2cwbyte &H00 ' Адресс = 0

    I2cstop ' Стоп передачи

    '

    I2cstart ' Старт передачи

    I2cwbyte Ds1307r ' Передаем байт чтения

    I2crbyte Reg_sec , Ack ' Принимаем 8 байт

    I2crbyte Reg_min , Ack ' Принимаем 8 байт

    I2crbyte Reg_hour , Nack ' Принимаем 9 байт

    I2cstop ' Стоп передачи

    '

    Return

    '---------------------------------------------------------------------------

    Displaysub:

    Tempb = Reg_min ' Minutes

    Gosub Patcon

    Temp1b.7 = P2.7

    P2 = Temp1b

    Tempb = Reg_min

    Shift Tempb , Right , 4

    Gosub Patcon

    Temp1b.7 = P0.7

    P0 = Temp1b

    '

    Return

    '---------------------------------------------------------------------------

    Patcon:

    Tempb = Tempb And &H0F

    Select Case Tempb

    Case 0 : Temp1b = Segpat0

    Case 1 : Temp1b = Segpat1

    Case 2 : Temp1b = Segpat2

    Case 3 : Temp1b = Segpat3

    Case 4 : Temp1b = Segpat4

    Case 5 : Temp1b = Segpat5

    Case 6 : Temp1b = Segpat6

    Case 7 : Temp1b = Segpat7

    Case 8 : Temp1b = Segpat8

    Case 9 : Temp1b = Segpat9

    Case Else

    End Select

    '

    Return

    '---------------------------------------------------------------------------

    Clock_init: ' DS1307 Initialize

    '

    Tempb = Reg_sec And &B01111111 ' Oscillator Enable

    I2cstart ' Generate start

    I2cwbyte Ds1307w ' Slave adsress

    I2cwbyte &H00 ' Address of Seconds REG

    I2cwbyte Tempb '

    I2cstop ' Generate Stop

    '

    Tempb = Reg_hour And &B10111111 ' 24-Hour Mode

    I2cstart ' Generate start

    I2cwbyte Ds1307w ' Slave adsress

    I2cwbyte &H02 ' Address of Seconds REG

    I2cwbyte Tempb '

    I2cstop ' Generate Stop

    '

    Tempb = &B10010000 ' 1 Hz SQW Output

    I2cstart ' Generate start

    I2cwbyte Ds1307w ' Slave adsress

    I2cwbyte &H07 ' Address of Control REG

    I2cwbyte Tempb '

    I2cstop ' Generate Stop

    '

    Return

    '---------------------------------------------------------------------------

    Receiverc5:

    Getrc5(subaddress , Command)

    Subaddress = Subaddress And &B00011111 '

    If Subaddress = 0 Then

    If Command > 10 Then Command = 0 '

    '

    Select Case Command

    Case 1 :

    Command = 0

    Setup = 1

    Case 2 :

    Command = 0

    Setup =2

    Case 3 :

    Command = 0

    Setup =3

    End Select

    End If

    Return

    '---------------------------------------------------------------------------

  14. Ещё UMPS когда-то был.

    Но он только демный (ограничения на объём программы).

    Теперь его в инете не найдёшь - видать, скупил их кто-то.

    У меня остался, причём я знаю, как лечить его от 30-дневности :P

     

    --

    WBR, Andrew

    Бы ло бы замечательно если бы Вы скинули на e-mail мне. [email protected].

    Заранее спасибо.

×
×
  • Создать...