Projet

Général

Profil

« Précédent | Suivant » 

Révision 826

Ajouté par mamoisan il y a presque 4 ans

Tpc2 finir intéruptions

Voir les différences:

branch/moisan/sp4c12/sp4c12/sp4c12/SessionM32C_E8a_SYSTEM.ini
[Target]
M32C E8a SYSTEM=Renesas Communications
[USER_DATA]
RESET=fe0000
RESET=fe0042
branch/moisan/sp4c12/sp4c12/sp4c12/SessionM32C_E8a_SYSTEM.hsf
"{55384715-F881-421C-A548-D7D1ABE158E1}PDMRCtrlViews" "0"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_DENORMAL_MODE" "0"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_ROUND_MODE" "0"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "0000000000000001"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "0000000000000400"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000FE0325"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000FFFD00"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "00000000000006FC"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "0000000000000A00"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000FE0042"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "000000000000C400"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "0000000000000080"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_21" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_22" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_23" "0000000000000000"
......
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_33" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_34" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_35" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000FE0000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000000020000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000000000400"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_COUNT" "36"
......
[WINDOW_Z_ORDER]
"D:\tp4_sp4_2021_MOISAN\sp4c12\sp4c12\sp4c12\sp4c12.c"
"D:\tp4_sp4_2021_MOISAN\sp4c12\sp4c12\sp4c12\ncrt0.a30"
"D:\tp4_sp4_2021_MOISAN\sp4c12\sp4c12\sp4c12\uart0.c"
"D:\tp4_sp4_2021_MOISAN\sp4c12\sp4c12\sp4c12\uart0.h"
[TARGET_NAME]
"M32C E8a SYSTEM" "" 0
[STATUSBAR_STATEINFO_VD1]
branch/moisan/sp4c12/sp4c12/sp4c12/sp4c12.c
/***********************************************************************/
#include "sfr32c87.h"
#include <stdio.h>
#include <stdlib.h>
char trame1[]=
{'$','G','P','G','G','A',',','1','4','1','9','1','6','.','0','0',',','4','5','4','5','.','0','4','8','4',',','N',',','0','0','3','0','6','.','6','0','3','7',',','E',',','1',',','0','5',',','3','.','4',',','5','0','0','.','0',',','M',',',',','M',',',',','*','7','A'};
void uart0_init(void);
void uart0_tx(char c);
char uart0_rx(void);
int rectrame(char * buffer);
int irectrame(int etat, char * buffer);
int hex2int(char *c);
void main(void)
{
char buffer[];
int nbcara;
while(1)
{
uart0_init();
}
//nbcara = rectrame(trame1);
}
void uart0_init(void)
{
//u0mr = 0x25;
u0mr = 0b00100101;
u0mr = 0x25;
//registre mode
u0smr = 0x00;
u0smr2 = 0x00;
u0smr3 = 0x00;
u0smr4 = 0x00;
//u0c0 = 0x10;
u0c0 = 0b00010000;
//baud rate
u0brg = 0xff;
u0c0 = 0x10;
u0brg = 0xff; //baud rate
//receive/transmit control
//u0c1 = 0x00;
u0c1 = 0b00000000;
u0c1 = 0x00;
s0tic = 0x00;
s0ric = 0x00;
//pin setting
pd6_0 = 0;
pd6_1 = 0;
pd6_2 = 0;
psl0_0 = 0;
ps0_1 = 0;
ps0_2 = 0;
pd6_3 = 1;
ps0_3 = 1;
//u0c1 = 0x05;
u0c1 = 0b00000101;
while(1)
u0c1 = 0x05;
}
void uart0_tx(char c)
{
while(ti_u0c1 != 1);
u0tb = c;
}
char uart0_rx(void)
{
while(ri_u0c1 != 1);
return u0rb;
}
int hex2int(char *c)
{
int i=0;
for(i=0;i<2;i++)
{
u0tb = 'a';
if(c[i]>='0' && c[i]<='9')
{
c[i] = c[i]-48;
}
if(c[i]>='A')
{
c[i] = c[i]-55;
}
}
return (c[1]+16*c[0]);
}
/*
int rectrame(char * buffer)
{
int i,j;
char car_recu;
char checksum_calc = '0';
char checksum_trame[];
while (uart0_rx() != '$')
{
j=0;
}
while (uart0_rx() != '*')
{
buffer[i++] = uart0_rx();
checksum_calc = checksum_calc ^ car_recu;
j++;
}
checksum_trame[0] = uart0_rx();
i++;
checksum_trame[1] = art0_rx();
if(checksum_calc == hex2int(checksum_trame))
{
return j;
}
}*/
int irectrame(int etat, char * buffer)
{
static int etat = 0;
int trame_ok = 0;
int i = 0,j = 0;
char car_recu;
char checksum_calc = 0;
char checksum_trame = 0;
char checksum_fin_trame[2];
car_recu = uart0_rx();
if (etat == 0 && car_recu == '&')
{
etat == 1;
}
if (etat == 1 && car_recu != '*')
{
buffer[i] = car_recu;
i++;
checksum_calc = checksum_calc ^ car_recu;
} else {
etat = 2;
}
if (etat==2)
{
checksum_fin_trame[j] = car_recu;
j++;
if(j==1)
{
etat = 3;
checksum_calc=hex2int(checksum_fin_trame);
}
}
if(etat==3)
{
if(checksum_calc==checksum_trame)
{
etat = 0;
return i;
}
}
return etat;
}

Formats disponibles : Unified diff