Révision 826
Ajouté par mamoisan il y a presque 4 ans
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
Tpc2 finir intéruptions