16F1827 table not behaving as expected


Results 1 to 19 of 19

Threaded View

  1. #8
    Join Date
    Oct 2005
    Location
    Pinckney, Michigan
    Posts
    91


    Did you find this post helpful? Yes | No

    Default Re: 16F1827 table not behaving as expected

    I tried breaking up my 254-element table into four 64-element tables as mark_s suggested in another thread, but it's giving more trouble and now "Crossing Page Bounday errors".

    It behave as though PBP only allows one LOOKUP2 table construct per program. The DacDwell variable returns with the proper value only if the Measurement variable is contained within the original "called" table.

    I've inserted some serial traps to show if the index is working properly between the tables (it is), and to show if the table result is working properly (it isn't)

    You can see on the right side of the JPG the serial messages showing the Measurement variable changing to the appropriate table as the Measurement variable increments/decrements, but the DacDwell variable shows zero when it references the second table.

    When the Measurement variable increments to 64 or above, it would normally advance to the next table and return the DacDwell values found there, but as youcan see it returns zeros.

    I only have room for DwellTable 3 & 4 in the screenshot (DwellTable 1 & 2 contain nothing but zeros for padding), but if I force the Measurement variable to DwellTable to 3 or 4, it will return the proper values until it crosses to the next table construct

    So far I'm damned if I do and damned if I don't with respect to these tables.

    I'm staring to consider one of the newer "K" parts, but I'm afraid I'll run into compiler deficiencies there as well.

    Still not sure if someone is going to fix the macros to match the executable, or drop back to a 85-element limit.

    Can anyone offer a way forward?

    JPG and code below:

    Name:  Dwell_table_trouble4.jpg
Views: 623
Size:  179.3 KB


    [CODE]'
    DwellTable3:
    'if measurement > 191 then goto DwellTable4
    lookup2 Measurement,[$5161,$4c48,$47ce,$43d1,$403f,$3d09,$3a21,$377d,_ '128 - 135 1.5pps - 2.2pps
    $3513,$32dd,$30d4,$2ef3,$2d36,$2b99,$2a18,$28b1,_ '136 - 143 2.3pps - 3.0pps
    $2761,$2626,$24fe,$23e7,$22e1,$21e9,$20fe,$2020,_ '144 - 151 3.1pps - 3.8pps
    $1f4d,$1e85,$1dc6,$1d10,$1c63,$1bbe,$1b20,$1a89,_ '152 - 159 3.9pps - 4.6pps
    $19f9,$196e,$18ea,$186a,$17ef,$177a,$1708,$169b,_ '160 - 167 4.7pps - 5.4pps
    $1632,$15cc,$156a,$150c,$14b1,$1458,$1403,$13b0,_ '168 - 175 5.5pps - 6.2pps
    $1360,$1313,$12c8,$127f,$1238,$11f4,$11b1,$1170,_ '176 - 183 6.3pps - 7.0pps
    $1131,$10f4,$10b9,$107f,$1047,$1010,$0fda,$0fa6],dacdwell3 '184 - 191 7.1pps - 7.8pps
    serout2 portb.5,396,["Measurement = ", dec measurement, 13, 10]
    serout2 portb.5,396,["DacDwell3 = ", isHEX4 DacDwell3, 13, 10]
    serout2 portb.5,396,[13, 10] '
    pause 1000
    return
    'goto Endtable
    '
    DwellTable4:
    lookup2 Measurement,[$0f74,$0f42,$0f12,$0ee3,$0000,$0000,$0000,$0000,_ '192 - 199 7.9pps - 8.2pps & 900Hz w/ no mod
    $0000,$0000,$0000,$0000,$0000,$0000,$5161,$4c48,_ '200 - 207 900Hz w/no mod & 1.5pps - 1.6pps
    $47ce,$43d1,$403f,$3d09,$3a21,$377d,$3513,$32dd,_ '208 - 215 1.7pps - 2.5pps
    $30d4,$2ef3,$2d36,$2b99,$2a18,$28b1,$2761,$2626,_ '216 - 223 2.6pps - 3.3pps
    $24fe,$23e7,$22e1,$21e9,$20fe,$2020,$1f4d,$1e85,_ '224 - 231 3.4pps - 4.1pps
    $1dc6,$1d10,$1c63,$1bbe,$1b20,$1a89,$19f9,$196e,_ '232 - 239 4.2pps - 4.9pps
    $18ea,$186a,$17ef,$177a,$1708,$169b,$1632,$15cc,_ '240 - 247 5.0pps - 5.7pps
    $156a,$150c,$14b1,$1458,$1403,$13b0],dacdwell4 '248 - 253 5.8pps - 6.3pps
    serout2 portb.5,396,["Measurement = ", dec measurement, 13, 10]
    serout2 portb.5,396,["DacDwell4 = ", isHEX4 DacDwell4, 13, 10]
    serout2 portb.5,396,[13, 10] '
    pause 1000
    return'[CODE]
    Attached Images Attached Images  
    Last edited by J. Mark Wolf; - 2nd April 2011 at 19:00.

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts