Вот тестовая программка на gcc для проверки BW-SENS на порту А0, мигает светиком РС5 (который ближе к порту А) на OR-AVR-M32-D, тестировал на 10мм от поверхности:
- Код: Выделить всё • Развернуть
#include "defines.h"
#include <avr/interrupt.h>
#include <util/delay.h>
int main(void)
{
DDRC=0x20;
while(1==1){
DDRA=0xFF;
PORTA=0xFF;
_delay_us(2500);
DDRA=0x00;
PORTA=0x00;
_delay_us(2500);
int x=PINA;
if(x & 0x01 == 0x01){
PORTC=0x20;
}else{
PORTC=0x00;
};
_delay_us(1000);
};
}
Добавлено спустя 23 секунды:Ща попробую в BASCOM перетащить.
Добавлено спустя 30 минут 51 секунду:2SkyStorm:
Вот, освоил BASCOM, тут два светика сразу будет зажигать\гасить.
Пробуй, пиши чего получилось!
- Код: Выделить всё • Развернуть
$regfile = "m32def.dat"
$crystal = 7372800
Config Portc = Output
Config Portb = Output
Dim A As Byte
A = 1
While A > 0
Config Porta = Output
Set Porta.0
Waitms 3
Config Porta = Input
Reset Porta.0
Waitms 3
If Pina.0 = 1 Then
Set Portc.5
Set Portb.3
Else
Reset Portc.5
Reset Portb.3
End If
Wend
End