Hi,
ich Versuche mit dem HI-TECH C Compiler den PIC16F628 dazu zu Überreden
von PORT A zu lesen und auf PORT B zu schreiben. Da ich mir noch die
Hardware besorgen muss, habe ich erstmal 2 verschiedene Simulatoren
ausprobiert und beides mal gleiches Ergebnis.
C-Code:
1 | #include <htc.h>
|
2 | #include <pic.h>
|
3 |
|
4 |
|
5 | void Example(unsigned int *a)
|
6 | {
|
7 |
|
8 | *a=PORTB;
|
9 | NOP();
|
10 | PORTA=*a;
|
11 | NOP();
|
12 | }
|
13 | __CONFIG(UNPROTECT&INTIO);
|
14 | void main(void)
|
15 | {
|
16 | volatile unsigned int a=0;
|
17 | CMCON=0x07;
|
18 | TRISA=0x1f;
|
19 | TRISB=0xFF;
|
20 | INTCON=0x00;
|
21 | T0CS=0;
|
22 | PIE1=0x00;
|
23 | SPEN=0;
|
24 | while(1)
|
25 | {
|
26 | Example(&a);
|
27 | }
|
28 | }
|
Wenn ich TRISB=0x00 setze funktioniert alles ohne Probleme, bei
TRISB=0xff da kann ich nix mehr machen...
Kann mir jemand sagen wodrann das liegt?