' Define clock options DEFINE OSC 4 Define OSCCAL_1K 1 ' Set OSCCAL for 1K device
' Define LCD pins Define LCD_DREG PORTC Define LCD_DBIT 0 ' Set starting Data bit (0 or 4) if 4-bit bus Define LCD_RSREG PORTC 'LCD register select port Define LCD_RSBIT 5 'LCD register select bit Define LCD_EREG PORTC 'LCD enable port Define LCD_EBIT 4 'LCD read/write port DEFINE LCD_BITS 4 ' Set LCD bus size (4 or 8 bits)
' Disable part CMCON = 7 ' disable comparators
SCL var PORTA.4 SDA var PORTA.5
LED var PORTA.0
' define variables ' calibration constant AC1 var word AC2 var word AC3 var word AC4 var word AC5 var word AC6 var word B1 var word B2 var word MB var word MC var word MD var word ' uncompensated data UT var word UP var word ' calulation resalt temp var word pess var word
X1 var word X2 var word
delay CON 4000 i2c_delay CON 20
'Define port pins as outputs... 'output led output LED
в даташите об этом очевидного ничего нет.. больше информации я подчерпнул в чужом коде..
Я поглядел в своем коде. Результирующая переменная формата float, то есть 4 байта и имеет такой формат: Format Exponent Mantissa 0 Mantissa 1 Mantissa 2 Microchip xxxx xxxy sxxx xxxx xxxx xxxx xxxx xxxx, где s - это знак"-", y - младший бит экспоненты
Мне кажется на разбор формата больше времени уйдет.
На pbp правильно опросить этот датчик не получится, так как Из даташита: большая часть переменных имеют формат LONG. LONG это 64 бита, имеет диапазон -9, 223, 372,036, 854, 775, 808 ... 9, 223, 372, 036, 854, 775, 807 значений.
3.4 Calibration coefficients The 176 bit E2PROM is partitioned in 11 words of 16 bit each. These contain 11 calibration coefficients. Every sensor module has individual coefficients. Before the first calculation of temperature and pressure, the master reads out the E2PROM data. The data communication can be checked by checking that none of the words has the value 0 or 0xFFFF.
переводить не стану.. но понятно, что речь в константах не идет не о каких < LONG это 64 бита>
об остальных умозаключениях писать не стану.. пускай это останется на вашей совести
В PBP есть переменная типа LONG, но она только для семейства PIC18.
Написать код для BMP085 на PBP конечно можно, но это морока еще та. Почему же не взять немного лучший компилятор и не парится????? Например, тот же Протон. Поверьте, отличия, по сравнению с PBP не большие.
Почему же не взять немного лучший компилятор и не парится????? Например, тот же Протон. Поверьте, отличия, по сравнению с PBP не большие.
+1. В своё время долго мучился с ошибками в работе программ (неправильная частота импульсов и временные задержки) после компилятора PBP. По совету форумчан с лёту "пересел" на Протон. Программу с PBP на Протон переписал за один вечер, а не за
Цитатаsa137 ()
я не могу потратить часть своей жизни на бессмысленное изучение всего, что прикольно и правильно...
Сообщение отредактировал
xvovanx - Вс, 13.07.2014, 14:43
sa137, если мне не верите, хотя я тоже начинал с пикбасика, то вот еще пример xvovanx. Решить вашу проблему намного проще используя другой компилятор, тем более, что у вас есть пример уже на протоне. Это гороздо проще и быстрее, нежели пилить пикбасик. Если вы так беспокоитесь о своем драгоценном, то проще сделать один прект на протоне (взять рыбу, которая у вас уже есть и довести до стадии проекта) и забыть про пик басик.