Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



HX711

Сообщений 1 страница 26 из 26

1

Здравствуйте, коллеги.  Наткнулся на адекватный форум по BASCOM,и сразу с вопросом- может кто сталкивался с данной микросхемой? В ардуинке есть библиотеки под неё, и готовые скетчи,(всё опробовано и работает) но в силу своего малого опыта с программированием мк, есть необходимость раскусить эту микросхему в BASCOMe.  На Си нет времени, а "васик" кое что ещё помню из 90-х и как то легче дается.
Вобщем буду рад любой информации.

0

2

http://www.mcselec.com/index2.php?optio … ight=hx711

0

3

О! спасибо огромное )

0

4

Сегодня пробовал разбираться с вышеуказанным куском кода, вроде бы и понятно, но блин не работает. соединяю все в железе, на экране набор случайных символов.
Ткните носом ))))) где неправ

Код:
$regfile = "m8def.dat"
config portc=OUTPUT        'подключен ЖКИ
config pind.3=output       'нх711  синхр,отправляем в 711
config pind.4=input        'нх711  данные, получаем от 711

Adsk Alias Pind.3           'называем пин3 ADSK
Addo Alias Pind.4           'называем пин4 ADDO

Dim Count As Long                              'объявили переменную
declare function hx711_read() as long          'объявили функцию чтения из 711

Function HX711_Read() As Long

Local I As Byte                                 'локальная переменная I для цикла

'ADDO = 1               'I also give quotation marks at this alternately coz as input, not output НЕПОНЯТНО

 Adsk = 0               'устанавливаем в ноль
 Count = 0              'сбрасываем переменную

While Addo = 1          'ожидание готовности данных из нх711
Wend

                         'Shiftin ADDO , ADSK , Count , 1 , 24 , 10     --> similar ? НЕПОНЯТНО

For I = 1 To 24                       'устанавливаем точность данных порта А , нх711
Adsk = 1                              'устанавливаем в 1
Shift Count , Left , 1                'сдвигаем регистр в лево на  1 bit
Adsk = 0                              'опускаем в нолик
If Addo = 1 Then Incr Count           'записываем бит 1 для млачшего разряда,в противном случае 0
Next
  Adsk = 1                            'поднимаем порт в еденичку
  Count = Count Xor &H800000                                '0x800000    НЕПОНЯТНО
  Adsk = 0                            'опускаем в нолик

  Hx711_read = Count                  'возвращаем значение в переменную

End Function
cls
cursor off
do
locate 1,1
LCD "MASSA"
locate 2,1
lcd ;Count
WAITMS 1
LOOP
END

0

5

В коде не заданы частота МК и размер стеков. Возможно дело в этом.

0

6

Частоту кварца указал, 4мгц, а про размер стеков не понял

0

7

В начале почти в любого кода (например в этом) есть строки типа

Код:
$regfile = "attiny2313.dat"
$crystal = 4000000
$hwstack = 40
$swstack = 16
$framesize = 32

3, 4 и 5 строка задают размеры в байтах аппаратного, программного стеков и размер буферной области.

0

8

ага,   вот отсюда $hwstack - $swstack - $framesize - подскажите новичку. я понимаю что , т.к. у меня в коде одна переменная , значит $swstack=2  $framesize=28,  а CALL и GOSUB я не использую-надо задавать параметры или нет?

0

9

Vladimir VK написал(а):

CALL и GOSUB я не использую

И Function в коде тоже нет... ;)
Размер стеков должен быть с запасом, если не нужны глюки. :)
Добавьте в код

Код:
$crystal = 4000000
$hwstack = 64
$swstack = 32
$framesize = 32

0

10

не а, не работает, буду дальше разбираться ))))http://s7.uploads.ru/t/5IYPm.jpg

0

11

Раз уж portd.3 работает на выход можно попробовать сконфигурировать его так:

Код:
config portd.3=output:Adsk alias portd.3

0

12

В коде нет назначения выводов для индикатора. Должно быть что-то типа

Код:
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Portc.7 , Rs = Portc.6

0

13

Я вам ссылку дал, чтобы вы могли от туда скопировать алгоритм работы с HX711, а не для слепого копипаста. :D
Научитесь вначале выводить данные на индикатор, а уже потом двигайтесь к HX711...

зы: у вас азы не отстроены и понимания мало.

0

14

ну что же вы RDW , хочется всего и сразу  :D , а мы длжны направить на путь истинный..

+1

15

Добрый день всем ! Выходные наконец то кончились, женахозяйстводети по местам ))))))) сбежал на работу ))
Можно и чуть отдохнуть. 

С азами в баскоме разбираюсь постепенно, светодиодом наморгался,кнопками на нажимался, сервоприводами накрутился так сказать )) друг подмахнул просьбу одну для сынишки, теперь вот сочиняю под 711 чип.

Индикатор у меня прописан в баскоме в опцияхhttp://s9.uploads.ru/t/lxgfY.jpg

а по поводу копипаста - да, копипаст..... пытаюсь разобраться )
как то так

0

16

Vladimir VK написал(а):

а по поводу копипаста - да, копипаст..... пытаюсь разобраться )
как то так

Отличная картинка! :D Хорошо у вас получается, продолжайте в том же духе.

зы: я "сынишке" тоже не удержался одну штуку на скорую руку заделал.  :crazy:

0

17

Классный поезд )))  А я буду пытаться делать стенд для самолётного двигателя, парень ходит в авиамодельный кружок, а отец пилит пропеллеры )))  вот тягу мерить будем  :D

0

18

Тогда вам возможно будет интересна эта тема.

0

19

Здорово!!! Спасибо большое)) Но блин на ардуинке......  Хочу всё таки в басике по пробовать, мне так понятнее))  Эту ссылку конечно же сегодня покажу.  Ещё раз спасибо !!

0

20

Там можно идею подглядеть/спросить, а дуню всегда можно "прошить" Баскомом. ;)

0

21

)) да, это понятно, но как говориться упёрся )))) сейчас сидел пока на работе минутка выдалась, пробую написать, а на экране всё тот же значёк, как на первой фотке. Может подскажете где не прав?

$regfile = "m8def.dat"
$CRYSTAL =4000000
$hwstack=64
$swstack=32
$framesize=32

config PORTC=OUTPUT
config lcd=16x2
config lcdpin =PIN,DB4=PORTC.2,DB5=PORTC.3,DB6=PORTC.4,DB7=PORTC.5,RS=PORTC.1,E=PORTC.0
config pind.3=OUTPUT       'нх711  синхр,отправляем в 711
config pind.4=INPUT        'нх711  данные, получаем от 711

SCK Alias Pind.3           'называем пин3 SCK
DOUT Alias Pind.4          'называем пин4 DOUT

Dim Count As Long          'объявили переменную результата измерений
Dim I As Byte              'локальная переменная I для цикла (задаём точность измерений)

DO

SCK = 0               'устанавливаем в ноль
Count = 0             'сбрасываем переменную

While DOUT = 1        'ожидание готовности данных из нх711 при наличии единички на ноге начинаем работать с 711

For I = 1 To 24                      'цикл считывания даных из 711,устанавливаем точность данных порта А , нх711
SCK = 1                              'устанавливаем в 1
Shift Count , Left , 1               'сдвигаем регистр в лево на  1 bit
SCK = 0                              'опускаем в нолик
If DOUT = 1 Then Incr Count          'записываем бит 1 для млачшего разряда,
Next

WEND                                 'при DOUT=0 прекращаем считывать данные из 711 и обрабатываем полученный результат из 711

  SCK = 1                            'поднимаем порт в еденичку
  'Count = Count Xor &H800000                                '0x800000    НЕПОНЯТНО
  SCK = 0                            'опускаем в нолик

cls                                  'начинаем работу с индикатором,очищаем экран
cursor off                           'гасим курсор

locate 1,1                           'устанавливаем первую строку
LCD "MASSA/TYAGA"                    'пишем масса-тяга
locate 2,1                           'устанавливаем вторую строку
lcd ;Count                           'подставляем значение переменной
WAITMS 1                             'немного подождем
LOOP                                 'и в обратку к началу

0

22

почти работает, перенёс строки CLS  и CURSOR OFF http://s9.uploads.ru/t/qwo51.jpg

0

23

Доброго дня всем. Вобщем какие то цифры на экране появились, и всё. Копаю дальше. Народ а подскажите пожалуйста какую нибудь схемку лог-анализатора на LPT, покупать - ждать долго от "дяди Алика",  да и пока такой уж мега-необходимости нет, а компик стареньки но живой стоит без дела. В инете есть пару-тройку программ но конкретных отзывов о них нет.

0

24

Vladimir VK написал(а):

Народ а подскажите пожалуйста какую нибудь схемку лог-анализатора на LPT

Если под него, то это скорее всего будет DOS программы, ибо под винды прямого доступа к порту нет.
Первое, что нашел в поиске: http://vrtp.ru/index.php?act=categories … ticle=3269
Это трудно назвать советом, ибо тема устарела ещё в прошлом веке. :D Но собрать информацию и осмыслить, что надо, поможет тот же "гугл".

0

25

да да, я это тоже и имел в виду, у меня есть W98 и DOS ))))))   вот думаю как раз и воспользоваться.
Спасибо.

Просто думаю может кто пользовался этими программами.

Отредактировано Vladimir VK (2016-08-02 14:21:51)

0

26

Нашёл ещё ошибку, в строке WHILE DOUT надо поставить нолик

0