このファイル: /home/web6047/www/cgi-bin/prj/20190901-DRAMを理解してプログラミングに強くなろう/20191018-1bitPIC24H.X/newmain - snapshot 20191019.c
1
#include <stdio.h>
2
#include <stdlib.h>
3
#include <libpic30.h>
4
#include <p24HJ32GP202.h>
5
6
7
8
_FBS(BSS_NO_FLASH & BWRP_WRPROTECT_OFF )
9
_FGS(GSS_OFF & GCP_OFF & GWRP_OFF )
10
_FOSCSEL(FNOSC_FRC & IESO_ON)
11
_FOSC(FCKSM_CSECME & IOL1WAY_OFF & POSCMD_NONE & OSCIOFNC_ON )
12
_FWDT(FWDTEN_OFF & WINDIS_OFF)
13
_FPOR(FPWRT_PWR32 & ALTI2C_OFF)
14
15
16
int main(int argc, char** argv) {
17
unsigned long int i;
18
int r;
19
20
21
22
AD1PCFGL = 0b0001111000111111;
23
24
25
TRISA = 0b11111;
26
27
TRISB = 0b0000000000000000;
28
29
ジョウホウ 0 カキコミ
30
LATBbits.LATB8 = 0;
31
LATBbits.LATB2 = 1; トランジスタ オン
32
for( i = 0; i < 3000; i++ );
33
LATBbits.LATB2 = 0; トランジスタ オフ
34
35
TRISBbits.TRISB8 = 1; ニュウリョク セッテイ
36
LATBbits.LATB2 = 1;
37
r = PORTBbits.RB8; ウケトリ
38
LATBbits.LATB2 = 0;
39
40
41
if( r ) {
42
43
LATBbits.LATB6 = 1;
44
for( i = 0; i < 100000; i++ );
45
LATBbits.LATB6 = 0;
46
} else {
47
48
LATBbits.LATB6 = 1;
49
for( i = 0; i < 100000; i++ );
50
LATBbits.LATB6 = 0;
51
for( i = 0; i < 100000; i++ );
52
LATBbits.LATB6 = 1;
53
for( i = 0; i < 100000; i++ );
54
LATBbits.LATB6 = 0;
55
}
56
57
while( 1 ) {
58
59
if( PORTAbits.RA4 == 1 ) {
60
LATBbits.LATB6 = 1;
61
} else {
62
LATBbits.LATB6 = 0;
63
}
64
}
65
66
return (EXIT_SUCCESS);
67
}