ongelma pic16f87 Mikrobasic

Z

zkt

Guest
Seuraava koodi toimii hyvin, kun arvo purema on asetettu sisälle sub menettelyä I2C_send_byte. Mutta kun on asetettu ennen kutsuvan sub, SDA ei muuta kun koodi toimii sub. Ja SCL muutokset kunnolla ja sen ulkopuolella sub. On kaksi tapaa kirjoittaa IF rivi kumpikaan toimii. Olen jumissa. Kaikki apu tervetullutta.
Code:
 ohjelma Sunday 'PIC 16F87 hämärä purenta, vähän, tmp kuin tavu "hämärä const tda_adr kuin tavu =% 10001000 sub menettelyä I2C_send_byte' bite =% 10101010 Ilman tätä rivi aiheuttaa sda on tule muuttumaan hieman = 0 7 TRISB = 0 delay_us (50) "Jos ((pure ja 128) = 128) Sitten, jos purra ja 128 = 128 sitten TRISA = 128" asettaa TDA korkea jos nykyinen tda_data bittinen on suuri muu TRISA = 0 "muuta asettaa TDA low end jos purema = purema PORTB on ulostulo. koska PORTB = 0 portb.7 = logiikka 0 TRISA = 128 delay_us (50) TRISA = 0 'TRISB = 128 => portb.7 syötetään. kanssa mitään vetää jännite alhainen delay_us (50) 'Rpu tulee vetää jännite korkea ja portb.7 = korkea TRISB = 0 palata i2c_stop: delay_us (50) TRISB = 1 TRISA = 0 delay_us (50) TRISA = 128 delay_us ( 50) palaa loppuun.
 
Ollut olemassa mitään resoluutio vielä. bout valmis kirjoittamaan sen ASM ja kirjoittaa Mikrobasic pois hyvää
 

Welcome to EDABoard.com

Sponsor

Back
Top