Szia! Nem lehet, hogy túl gyorsan olvasod? Amit találtam BASIC rutint biztosan működik, kipróbáltam (Mega328/ 22MHz):
Hxread:
Adsk = 0 'clock LOW
Count = 0 'reset variable
While Addo = 1 'wait until data ready
Wend
' Shiftin Addo , Adsk , Count , 0 , 24 , 20 '--> similar ?
For Ii = 1 To 24 'channel A, gain 128x
Adsk = 1 'clock HIGH
Shift Count , Left , 1 'shift to left 1 bit
Adsk = 0 'clock LOW
If Addo = 1 Then Incr Count 'give bit 1 for LSB, otherwise 0
Next
Adsk = 1 'clock HIGH
Count = Count Xor &H800000 '0x800000
Adsk = 0 'clock LOW
'A csatorna 64-es erősítéssel
Waitus 1
Adsk = 1
Waitus 1
Adsk = 0
Adsk = 1
Waitus 1
Adsk = 0
Hx711_read = Count 'returned value
Return
A 8051-re írt példák általában 1MIPS-es alapra íródnak (szokott is probléma lenni a kínai 1T ciklusú 35MHz-es 8051-eknél, ha nem figyel az ember fia)