CCS a shift_right () funkce?

L

loufoque

Guest
Ahoj

Můžete mi pomoci s následující funkci.

Void Rx_Temp_16Bits ()
(
pro (i = 0; i <16; i)
(
set_tris_a (0);
output_low (PIN_A0);
delay_cycles (3);
set_tris_a (1), / / 4K7 pullup na PIN_A0
delay_cycles (10); / / 10 nám Moin Les 2 nám de la přednáška
b = input (PIN_A0) / / 2 nás
shift_right (& Temp_16Bits, 2, b);
delay_cycles (60);
output_high (PIN_A0);
set_tris_a (0);
)
)

Když se snažím spustit ji na můj 16f628, Temp_16Bits je vždy = 0?

Díky předem za spolupráci.

Loufoque

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Úsměv" border="0" />
 
TheTemp_16Bits je vždy = 0, protože b = input (PIN_A0) je vždy 0.Nevím, proč se chcete přepnout směr PIN_A0?

 
Je to smyčka pro čtení 16 bitů ze vzdáleného jeden drát 18b20 čidlo teploty.

Poté, co nejvyšší k nejnižší přechodu i čekat kolem 10 nás, a jsem si přečetl bit sended které 18b20.

Na mé působnosti vidím všechny 16 kousků!

 

Welcome to EDABoard.com

Sponsor

Back
Top