Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 20 из 20
  • «
  • 1
  • 2
  • 18
  • 19
  • 20
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Помогите разобраться новичку (как правильно?)
Помогите разобраться новичку
Aleksey_174 Дата: Чт, 07.03.2019, 17:42  |                                                                                                                Сообщение # 286
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 82
Репутация: 14   ±
Замечания:   ±
На сайте с 22.01.2017

Статус: Offline

Есть две версии Dig:
Одна старая Variable = Dig Number
Она работает с переменными типа Byte,Word
Другая новая Variable = Dig Value,Number
Она работает с переменными типа Byte,Word,Dword

Переменную Float не поддерживают обе
Обычно в таком случае делают две переменных, одна идет целой частью, другая дробной
ivan_fd Дата: Пт, 08.03.2019, 13:18  |                                                                                                                Сообщение # 287
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1085
Репутация: 83   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Цитата VetallRX ()
Но вычитал что команда Dig подходит только для переменных типа word. (максимум могу показывать на индикаторах 65535). Мне нужно работать с переменными типа Float.


А как Вы собираетесь работать командой DIG с переменной типа Float?
Это же не целочисленная переменная, а с плавающей точкой.

А на счет DIG почитайте эту тему, с этого сообщения.
http://www.picbasic.ru/forum/5-1287-17436-16-1523032265


Меня все время преследуют умные мысли...но я быстрее!!!
VetallRX Дата: Вс, 31.03.2019, 20:55  |                                                                                                                Сообщение # 288
Группа: Пользователи
Ранг:  Новенький
Сообщений: 2
Репутация: 0   ±
Замечания:   ±
На сайте с 27.05.2018

Статус: Offline

Тут пытаюсь сделать двухканальный вольт-амперметр с гальванической развязкой каналов.
Ну и как все наступаю на те же грабли.
1. Если отключаю Declare All_Digital = On, то пропадает динамическая индикация в Протеусе (может сам протеус кривой?)
2. В PIC16F690 написано, что АЦП 10 бит, а как сделать что б значение переменой было максимум до 1023, (как я понял сейчас стоит  левое или правое выравнивание, по этому результат до 64000).
Если выбираю АЦП-8 бит, то нормально считает до 255.
Протеус 8.8 сп1
Прикрепления: 4780927.jpg(147.5 Kb) · VA.bas(4.5 Kb) · Probe.pdsprj.f630007068619009_(22.4 Kb)

Сообщение отредактировал VetallRX - Вс, 31.03.2019, 20:56
anatol Дата: Пн, 01.04.2019, 00:50  |                                                                                                                Сообщение # 289
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 592
Репутация: 20   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

Я вставил в вашу программу две строчки
.......
TRISC = %00000000   'Сделать PORTС. выходами
ANSEL = %00000111  Включаем аналоговые входы 0,1,2
.......
ReadADC:
ADCON0 = %10000000  правое выравнивание

Далее по тексту. Declare All_Digital = On определяет назначение портов При работе с АЦП, в зависимости от TRIS они автоматом становятся аналоговыми и по ADIn выбирается номер пина порта.
"1" в старшем разряде ADCON0 определяет "выравнивание" результата, правое или левое.
Так как значение As Word может принимать значение до 65535 у вас и была хня.
см. 1023 = 11 1111 1111
As Word левое выравнивание 1023 = 1111 1111 1100 0000
As Word правое выравнивание 1023 = 0000 0011 1111 1111
Это нужно для разных методов обработки чисел
По умолчанию включено левое выравнивание т.е. ADCON0 = %00000000 (сбрасывается в ноль при старте) см. TABLE 9-3:SUMMARY OF A/D REGISTERS даташита на 16F690 строку ADCON0 и колонку  Value on all other Resets (значения после сброса.)

Сообщение отредактировал anatol - Пн, 01.04.2019, 01:46
Anatoliy1000 Дата: Ср, 22.05.2019, 06:47  |                                                                                                                Сообщение # 290
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 113
Репутация: 0   ±
Замечания:   ±
На сайте с 02.03.2016

Статус: Offline

Здравствуйте!
Подскажите как прочитать поступившие данные по УСАРту от SIM800l. Верней принимаю нормально, а как расшифровать пока не пойму. Так как МК 16F628 не читает текстовые переменные, приходится полученные данные переменной Ворд растолковывать по фрагментам.

Сим получает СМС с моего телефона и отправляет на МК, МК отправляет в Терминал (посмотреть что получилось).

Код в МК
 
Как "нормально" обработать полученные данные? Возможно или только сменой МК?


Я новичок. За помощь стараюсь плюсовать репутацию (пока других способов сказать спасибо не знаю).
ivan_fd Дата: Ср, 22.05.2019, 09:52  |                                                                                                                Сообщение # 291
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1085
Репутация: 83   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Контроллер читает то, что ему пришло. Тут от контроллера не зависит. 
Чем Вы смотрите, то что получается?
Если в терминале Вы видите, что текст пришел нормально "123 ОК", то так же и в контроллере, при условии, что правильно приняли, должно быть.


Меня все время преследуют умные мысли...но я быстрее!!!
ЯНДЕКС Дата: 22.05.2019
Anatoliy1000 Дата: Ср, 22.05.2019, 13:08  |                                                                                                                Сообщение # 292
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 113
Репутация: 0   ±
Замечания:   ±
На сайте с 02.03.2016

Статус: Offline

Это понятно, но как проверить то что пришло. Грубо говоря как понять что СМС с нужным сообщением от нужного номера. МК не работает с текстом. Кто-нибудь ранее это делал?

Я новичок. За помощь стараюсь плюсовать репутацию (пока других способов сказать спасибо не знаю).
ivan_fd Дата: Ср, 22.05.2019, 15:27  |                                                                                                                Сообщение # 293
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1085
Репутация: 83   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

При чем здесь текст. Сообщение идет байтами. Отлавливайте байты и переводите в текст. Цифра 0, например, придет как 48 - в десятичной, или 0x30 в шестнадцатеричной системе.

Меня все время преследуют умные мысли...но я быстрее!!!
Aleksey_174 Дата: Чт, 23.05.2019, 17:06  |                                                                                                                Сообщение # 294
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 82
Репутация: 14   ±
Замечания:   ±
На сайте с 22.01.2017

Статус: Offline

Я как-то баловался SIM800l, но времени так и не хватило доделать
Чтобы с ним работать читать писать СМС и обрабатывать данные нужно много памяти
На 628 может и только и получится принять отправить смс с какими нибудь цифрами
У SIM800l много настроек и некоторые из них нужно вводить перед работой, например чтоб СМС шли в одном формате в инете есть много информации
Вот готовый проект  похожий по принципу на SIM800l который находится на этом сайте
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Помогите разобраться новичку (как правильно?)
  • Страница 20 из 20
  • «
  • 1
  • 2
  • 18
  • 19
  • 20
Поиск: