SDA och SCL (I2C)
Postat: 18 mars 2006, 23:18:45
Hejsan.
Jag och en kompis håller på med ett projekt om en robot som skall leta upp ett värmeljus och släcka det.
I detta använder vi en TPA81 värmesensor (info om denna finns här: http://www.robot-electronics.co.uk/htm/tpa81tech.htm)
Den kommunicerar via I2C.
Alltså kan man använda en I2C-bus och koppla den till SDA och SCL på PIC'en som vi använder (16F876A) eller som jag förstår det kan man koppla SDA och SCL pinnarna direkt till pinnarna på PIC'en.
Rätta mig om jag har fel redan här.
Problemet är att vi inte riktigt vet hur vi skall kommunicera med denna sen.
Vi använder oss utav PicBasic och där finns ju I2C_READ och I2C_WRITE funktioner som använder sig utav SDA och SCL kanalerna.
Dock så kan vi inte lyckas få programmet att använda rätt ben verkar det som, detta är förstås ett mer allmänt problem men det vi vill ha hjälp med är:
Problem 1:
Även om vi skriver
PORTA.1, PORTB.1 eller PORTC.1
så använder den 1an på PORTB
Hur skall man göra för att använda andra pinnar än från Port B?
Problemet i sig ligger ju i att SDA och SCL pinnarna inte ligger på Port B utan C om jag minns rätt.
Om inte annat, går det att använda vilka pinnar som helst som SDA och SCL pinnar eller måste det vara dem angivna i specifikationen för PIC'en?
Problem 2:
SCL klocktiden skall vara på 100Hz för att värmesensorn skall fungera bra, hur ställer man in detta? Med kristaller eller mjukvara, och ja, självklart hur isåfall?
I övrigt tror jag att jag skall få den att fungera.
Det blev väldigt mycket men jag hoppas att någon vill ta sig till att läsa det och hjälpa mig, är extremt tacksam för all hjälp jag kan få.
//Fredrik Olsen
Jag och en kompis håller på med ett projekt om en robot som skall leta upp ett värmeljus och släcka det.
I detta använder vi en TPA81 värmesensor (info om denna finns här: http://www.robot-electronics.co.uk/htm/tpa81tech.htm)
Den kommunicerar via I2C.
Alltså kan man använda en I2C-bus och koppla den till SDA och SCL på PIC'en som vi använder (16F876A) eller som jag förstår det kan man koppla SDA och SCL pinnarna direkt till pinnarna på PIC'en.
Rätta mig om jag har fel redan här.
Problemet är att vi inte riktigt vet hur vi skall kommunicera med denna sen.
Vi använder oss utav PicBasic och där finns ju I2C_READ och I2C_WRITE funktioner som använder sig utav SDA och SCL kanalerna.
Dock så kan vi inte lyckas få programmet att använda rätt ben verkar det som, detta är förstås ett mer allmänt problem men det vi vill ha hjälp med är:
Problem 1:
Även om vi skriver
PORTA.1, PORTB.1 eller PORTC.1
så använder den 1an på PORTB
Hur skall man göra för att använda andra pinnar än från Port B?
Problemet i sig ligger ju i att SDA och SCL pinnarna inte ligger på Port B utan C om jag minns rätt.
Om inte annat, går det att använda vilka pinnar som helst som SDA och SCL pinnar eller måste det vara dem angivna i specifikationen för PIC'en?
Problem 2:
SCL klocktiden skall vara på 100Hz för att värmesensorn skall fungera bra, hur ställer man in detta? Med kristaller eller mjukvara, och ja, självklart hur isåfall?
I övrigt tror jag att jag skall få den att fungera.
Det blev väldigt mycket men jag hoppas att någon vill ta sig till att läsa det och hjälpa mig, är extremt tacksam för all hjälp jag kan få.
//Fredrik Olsen