Projet

Général

Profil

« Précédent | Suivant » 

Révision 912

Ajouté par mamoisan il y a environ 4 ans

irrectrame faite plus qu'à gérer trame_ok pour éviter la collision

Voir les différences:

branch/moisan/sp4c12/sp4c12/sp4c12/SessionM32C_E8a_SYSTEM.ini
[Target]
M32C E8a SYSTEM=Renesas Communications
[USER_DATA]
RESET=fe0042
RESET=fe0048
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" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "000000000000000D"
"{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" "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_15" "0000000000000400"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000FE04CC"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000FFFD00"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000000748"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "0000000000000A30"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "0000000000001005"
"{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" "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" "0000000000000000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000FE0048"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000000020000"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000000A38"
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000000000400"
"{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"
......
"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_SAMPLEING_RATE" "1000"
"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_VIEW" "0,0,0,0,0,0"
"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ImageCtrlViews" "0"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchCtrlViews" "0"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchCtrlViews" "4"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth0" "120"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth1" "150"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth12" "150"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth2" "120"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth3" "200"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0000" "i, 1, 0, P, Col, Hex, MN"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0000_SCOPE" "Current Scope,"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0001" "car_recu, 2, 0, P, Col, Hex, MN"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0001_SCOPE" "Current Scope,"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0002" "etat, 1, 0, P, Col, Hex, MN"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0002_SCOPE" "Current Scope,"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0003" "j, 1, 0, P, Col, Hex, MN"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0003_SCOPE" "Current Scope,"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEMCnt" "4"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth0" "120"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth1" "150"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth12" "150"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth2" "120"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth3" "200"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ECX_WATCH_ITEMCnt" "0"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth0" "120"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth1" "150"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth12" "150"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth2" "120"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth3" "200"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ECX_WATCH_ITEMCnt" "0"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth0" "120"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth1" "150"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth12" "150"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth2" "120"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth3" "200"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ECX_WATCH_ITEMCnt" "0"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndInitial_Radix" "0"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndInstanceKey0" "{WK_00000001_WATCH}sp4c12SessionM32C_E8a_SYSTEM"
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndRecentFile_WatchRecord" ""
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndRecentFile_WatchSave" ""
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndUpdate_Interval" "100"
......
0
[WINDOW_POSITION_STATE_DATA_VD1]
"Help" "TOOLBAR 0" 59419 1 5 "0.00" 0 0 0 0 0 17 0 "" "0.0"
"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 180 683 371 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0"
"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 1 "0.59" 180 683 371 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0"
"{WK_00000001_WATCH}sp4c12SessionM32C_E8a_SYSTEM" "WINDOW" 59422 0 0 "0.41" 180 0 0 350 200 18 0 "32781|32783|<<separator>>|32771|32829|32772|32827|32773|<<separator>>|32786|<<separator>>|32810|32811|32831" "0.0"
"{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 180 683 371 350 200 18 0 "" "0.0"
"{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0"
"{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0"
......
"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 17 0 "" "0.0"
"{WK_TB00000011_CPU}" "TOOLBAR 0" 59419 2 2 "0.00" 0 0 0 0 0 18 0 "" "0.0"
"{WK_TB00000012_MAP}" "TOOLBAR 0" 59419 1 4 "0.00" 0 0 0 0 0 17 0 "" "0.0"
"{WK_TB00000013_SYMBOL}" "TOOLBAR 0" 59419 2 3 "0.00" 0 0 0 0 0 18 0 "" "0.0"
"{WK_TB00000013_SYMBOL}" "TOOLBAR 0" 59419 2 4 "0.00" 0 0 0 0 0 18 0 "" "0.0"
"{WK_TB00000014_CODE}" "TOOLBAR 0" 59419 2 6 "0.00" 0 0 0 0 0 17 0 "" "0.0"
"{WK_TB00000016_GRAPHIC}" "TOOLBAR 0" 59419 2 7 "0.00" 0 0 0 0 0 17 0 "" "0.0"
"{WK_TB00000018_DEFAULTWINDOW}" "TOOLBAR 0" 59419 1 2 "0.00" 0 0 0 0 0 17 0 "" "0.0"
"{WK_TB00000023_RTOS}" "TOOLBAR 0" 59419 2 8 "0.00" 0 0 0 0 0 17 0 "" "0.0"
"{WK_TB00000026_MACRO}" "TOOLBAR 0" 59419 1 6 "0.00" 0 0 0 0 0 17 0 "" "0.0"
"{WK_TB00000028_RTOSDEBUG}" "TOOLBAR 0" 59419 2 4 "0.00" 0 0 0 0 0 17 0 "" "0.0"
"{WK_TB00000028_RTOSDEBUG}" "TOOLBAR 0" 59419 2 3 "0.00" 0 0 0 0 0 17 0 "" "0.0"
"{WK_TB00000029_SYSTEMTOOL}" "TOOLBAR 0" 59419 2 5 "0.00" 0 0 0 0 0 17 0 "" "0.0"
[WINDOW_POSITION_STATE_DATA_VD2]
[WINDOW_POSITION_STATE_DATA_VD3]
......
[FLASH_DETAILS]
"" 0 0 "" 0 "" 0 0 "" 0 0 0 0 0 0 0 "" "" "" "" ""
[BREAKPOINTS]
"d:\tp4_sp4_2021_moisan\sp4c12\sp4c12\sp4c12\sp4c12.c" 216 16647372 1 "{00000000-0000-0000-C000-000000000046}" ""
[END]
branch/moisan/sp4c12/sp4c12/sp4c12/sp4c12.hwp
[GENERAL_DATA_SESSION_SessionM32C_E8a_SYSTEM]
[GENERAL_DATA_SESSION_SessionM32C_Simulator]
[OPTIONS_Debug_Renesas M32C Assembler]
"Assembly source file" "0806e4be4c657d10" 2
"D:\tp4_sp4_2021_MOISAN\sp4c12\sp4c12\sp4c12\ncrt0.a30" "0806e4be4c657d10" 2
"Assembly source file" "0fe99a24c0e57d10" 2
"D:\tp4_sp4_2021_MOISAN\sp4c12\sp4c12\sp4c12\ncrt0.a30" "0fe99a24c0e57d10" 2
[OPTIONS_Debug_Renesas M32C C Compiler]
"C source file" "0806e4be4c657d10" 1
"D:\tp4_sp4_2021_MOISAN\sp4c12\sp4c12\sp4c12\sp4c12.c" "0806e4be4c657d10" 1
......
"[V|VERSION|1] [B|COMMAND|1] [S|SPEC|UITRON3] " 6
"[V|VERSION|1] [B|DATALENGTH|1] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] " 4
"[V|VERSION|1] [B|STARTUPLINK|1] [B|DEBUG|1] [B|MAP-S|1] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).x30^"] [S|INPUTLIBRARY|^"L=nc382lib^"] [S|CPU|M32C80] " 3
"[V|VERSION|1] [S|LIST|LM] [B|INSPECTOR|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).r30^"] [S|CPU|M32C80] [B|HEAP|1] [S|DEFINE|__USTACKSIZE__=0300H] [S|DEFINE|__ISTACKSIZE__=0300H]" 2
"[V|VERSION|1] [S|MODE|CREATE|] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] " 5
"[V|VERSION|1] [S|OUTPUT|OBJECTCODE] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).r30^"] [B|INSPECTOR|1] [S|CPU|M32C80] " 1
"[V|VERSION|2] [S|DEFINE|__USTACKSIZE__=0300H|__ISTACKSIZE__=0300H|__MVT__=1] [B|HEAP|1] [B|INSPECTOR|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).r30^"] [S|LIST|L|M] [S|CPU|M32C80]
" 2
[EXCLUDED_FILES_Debug]
[LINKAGE_ORDER_Debug]
"D:\tp4_sp4_2021_MOISAN\sp4c12\sp4c12\sp4c12\Debug\ncrt0.r30"
branch/moisan/sp4c12/sp4c12/sp4c12/sp4c12.c
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'};
//variables globales pour irectrame
int etat = 0;
int i = 0,j = 0;
int trame_ok = 0;
void uart0_init(void);
void uart0_inter_init(void);
void uart0_tx(char c);
char uart0_rx(void);
int rectrame(char * buffer);
int irectrame(int etat, char * buffer);
int irectrame(char * buffer);
int hex2int(char *c);
void main(void)
{
char buffer[];
int nbcara;
while(1)
{
uart0_init();
}
//nbcara = rectrame(trame1);
uart0_inter_init();
asm("FSET I");
}
void uart0_init(void)
......
u0c1 = 0x05;
}
void uart0_inter_init(void)
{
u0mr = 0x25;
//registre mode
u0smr = 0x00;
u0smr2 = 0x00;
u0smr3 = 0x00;
u0smr4 = 0x00;
u0c0 = 0x10;
u0brg = 0xff; //baud rate
//receive/transmit control
u0c1 = 0x00;
s0tic = 0x00;
s0ric = 0x01;
//pin setting
pd6_0 = 0;
pd6_1 = 0;
pd6_2 = 0;
pd6_3 = 1;
ps0_3 = 1;
u0c1 = 0x05;
}
void uart0_tx(char c)
{
while(ti_u0c1 != 1);
......
}
return (c[1]+16*c[0]);
}
/*
int rectrame(char * buffer)
int rectrame(char *buffer)
{
int i,j;
int nbre_car_apres_etoile=0;
static int k=0;
int nbre_car=0;
char car_recu;
char checksum_calc = '0';
char checksum_trame[];
while (uart0_rx() != '$')
char checksum_trame=0;
char checksum_fin_trame[3];
char checksum_calculer=0;
//lecture du caractere recu
car_recu = uart0_rx();
//detection trame
while( car_recu != '$')
{
j=0;
car_recu = uart0_rx();
}
while (uart0_rx() != '*')
k++;
nbre_car = 0;
checksum_trame = 0;
//memorisation de la trame recue
while(car_recu != '*')
{
buffer[i++] = uart0_rx();
checksum_calc = checksum_calc ^ car_recu;
j++;
car_recu = uart0_rx();
k++;
buffer[nbre_car] = car_recu;
if(car_recu != '*')
{
nbre_car++;
checksum_trame = checksum_trame ^ car_recu;
}
}
checksum_trame[0] = uart0_rx();
i++;
checksum_trame[1] = art0_rx();
if(checksum_calc == hex2int(checksum_trame))
//lecture et convertion de checksum
while(nbre_car_apres_etoile != 2 && car_recu !='*')
{
return j;
car_recu = uart0_rx();
k++;
checksum_fin_trame[nbre_car_apres_etoile] = car_recu;
if(nbre_car_apres_etoile == 2)
{
checksum_calculer = hex2int(checksum_fin_trame);
}
nbre_car_apres_etoile++;
}
}*/
//verification checksum
if(checksum_trame == checksum_calculer)
{
return nbre_car;
}
}
//? revoir (variables globales)
*/
int irectrame(int etat, char * buffer)
#pragma INTERRUPT 18 irectrame
int irectrame(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 == '&')
if (etat == 0 && car_recu == '$')
{
etat == 1;
etat = 1;
}
if (etat == 1 && car_recu != '*')
{
......
i++;
checksum_calc = checksum_calc ^ car_recu;
} else {
etat = 2;
if(etat == 1 && car_recu == '*')
{
etat = 2;
}
}
if (etat==2)
if (etat==2 && car_recu != '*')
{
checksum_fin_trame[j] = car_recu;
j++;
if(j==1)
{
checksum_calc=hex2int(checksum_fin_trame);
etat = 3;
checksum_calc=hex2int(checksum_fin_trame);
}
j++;
}
if(etat==3)
{
etat = 0;
if(checksum_calc==checksum_trame)
{
etat = 0;
trame_ok = 1;
return i;
}
}
return trame_ok;
}
return etat;
}
}
branch/moisan/sp4c12/sp4c12/sp4c12.hws
[MAKEFILE_BUILD_INFO]
"$(WORKSPDIR)\make\$(PROJECTNAME)_$(CONFIGNAME).mak" "" "$(WORKSPDIR)\make" 0 0 0
[VD_CONFIGURATION_OPTIONS]
"ACTIVE_DESKTOP" "0"
[VD_CONFIGURATIONS]
"0" "Default1" "1"
"1" "Default2" "1"
"2" "Default3" "1"
"3" "Default4" "1"
[OPTIONS_DEBUG_TAB]
0 0 0 0 0
[VCS]

Formats disponibles : Unified diff