Révision 899
Ajouté par lefraisse il y a environ 4 ans
branch/FRAISSE/sp4c12/SP4c12.tws | ||
---|---|---|
"D:\FRAISSE\sp4c12\SP4c12\sfr32c87.h"
|
||
"D:\FRAISSE\sp4c12\SP4c12\SP4c12.c"
|
||
[WORKSPACE_FILE_STATES]
|
||
"D:\FRAISSE\sp4c12\SP4c12\SP4c12.c" -8 -31 1852 796 1 1
|
||
"D:\FRAISSE\sp4c12\SP4c12\SP4c12.c" -8 -31 1852 621 1 1
|
||
"D:\FRAISSE\sp4c12\SP4c12\ncrt0.a30" 0 0 1598 519 0 0
|
||
"D:\FRAISSE\sp4c12\SP4c12\sect308.inc" 78 78 1602 523 0 3
|
||
"D:\FRAISSE\sp4c12\SP4c12\sfr32c87.h" 52 52 1602 523 0 2
|
branch/FRAISSE/sp4c12/SP4c12/SessionM32C_E8a_SYSTEM.ini | ||
---|---|---|
[Target]
|
||
M32C E8a SYSTEM=Renesas Communications
|
||
[USER_DATA]
|
||
RESET=fe000e
|
||
RESET=fe0000
|
branch/FRAISSE/sp4c12/SP4c12/SessionM32C_E8a_SYSTEM.hsf | ||
---|---|---|
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_TEST_END_ADDRESS" ""
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_TEST_START_ADDRESS" ""
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryCtrlViews" "0"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0AutoRefreshEnableTopPane" "0"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0AutoRefreshIntervalTopPane" "100"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DataLength" "4"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DispAddressTopPane" "1660"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DispCode" "42208"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DispColumnCount" "4"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispCode" "1"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispFloat" "0"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispLabel" "0"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispRegister" "0"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsRegFollowEnableTopPane" "0"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0LabelWidth" "96"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0Radix" "16"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0RegFollowRegTblIDTopPane" "0"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0RegisterWidth" "96"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0ScrollEndAddress" "16777215"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0ScrollStartAddress" "0"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0StartUpSymbolTopPane" ""
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewAInstanceKey0" "{WK_00000001_MEMORY}SP4c12SessionM32C_E8a_SYSTEM"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0AutoRefreshEnableTopPane" "0"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0AutoRefreshIntervalTopPane" "100"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DataLength" "4"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DispAddressTopPane" "1708"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DispCode" "42208"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DispColumnCount" "4"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispCode" "1"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispFloat" "0"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispLabel" "0"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispRegister" "0"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsRegFollowEnableTopPane" "0"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0LabelWidth" "96"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0Radix" "16"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0RegFollowRegTblIDTopPane" "0"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0RegisterWidth" "96"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0ScrollEndAddress" "16777215"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0ScrollStartAddress" "0"
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0StartUpSymbolTopPane" ""
|
||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewBInstanceKey0" "{WK_00000001_MEMORY}SP4c12SessionM32C_E8a_SYSTEMViewB"
|
||
"{4B022541-3E95-11D7-909C-00201898052D}ElfDwarf2Objects" "1"
|
||
"{4B022541-3E95-11D7-909C-00201898052D}LoadModule0OBJ_ELFDWARF2_ARRAY_EXPAND_LIMIT" "-1"
|
||
"{4B022541-3E95-11D7-909C-00201898052D}LoadModule0OBJ_STATUS_OF_EBD_CMD" "0"
|
||
"{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_1" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "0000000000000041"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "0000000000000024"
|
||
"{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" "0000000000FE000E"
|
||
"{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" "0000000000FE04AF"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000FFFD00"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000000686"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "0000000000000A00"
|
||
"{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" "0000000000000085"
|
||
"{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" "00000000000006E4"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000000020000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000000696"
|
||
"{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" "244"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth12" "150"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth2" "215"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth3" "200"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0000" "buffer, 4, 0, P, Col, Hex, MN"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0000_SCOPE" "Current Scope,"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0001" "trame, 10, 0, P, Col, Hex, N"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0001_SCOPE" "Current Scope,"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0002" "checksum, 2, 0, P, Col, Dec, MN"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0002_SCOPE" "Current Scope,"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0003" "verifchecksum, 1, 0, P, Col, Dec, MN"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0003_SCOPE" "Current Scope,"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0004" "i, 1, 0, P, Col, Hex, MN"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0004_SCOPE" "Current Scope,"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0005" "fin_trame, 6, 0, P, Col, Hex, MN"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0005_SCOPE" "Current Scope,"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEMCnt" "6"
|
||
"{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_CmdLine}" "WINDOW" 59422 0 1 "0.20" 180 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "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_CmdLine}" "WINDOW" 59422 0 2 "0.12" 355 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0"
|
||
"{WK_00000001_MEMORY}SP4c12SessionM32C_E8a_SYSTEM" "WINDOW" 59422 0 0 "0.50" 355 0 0 350 200 2065 0 "42202|42203|42204|42233|<<separator>>|42206|42205|42230|42229|42207|<<separator>>|42208|42209|42210|49076|42228|42227|<<separator>>|42231|42232|42234|42235|<<separator>>|42211|<<separator>>|32796|32797" "0.0"
|
||
"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "0.33" 355 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 1 "0.67" 355 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"
|
||
... | ... | |
[FLASH_DETAILS]
|
||
"" 0 0 "" 0 "" 0 0 "" 0 0 0 0 0 0 0 "" "" "" "" ""
|
||
[BREAKPOINTS]
|
||
"d:\fraisse\sp4c12\sp4c12\sp4c12.c" 167 16647343 1 "{00000000-0000-0000-C000-000000000046}" ""
|
||
[END]
|
branch/FRAISSE/sp4c12/SP4c12/SP4c12.c | ||
---|---|---|
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
||
/***********************************************************************/
|
||
#include "sfr32c87.h"
|
||
#include <math.h>
|
||
|
||
void uart0_init(void);
|
||
void uart0_tx(char c);
|
||
char uart0_rx();
|
||
void alphabet(void);
|
||
int hex2int(char*c);
|
||
int rectrame(char* buffer);
|
||
int hex2int(char*c);
|
||
|
||
|
||
|
||
|
||
void main(void)
|
||
{
|
||
char c = 'A'; //Utilis? pour la fonction alphabet
|
||
int i=0,j;
|
||
char table[10][80];
|
||
char buffer[80];
|
||
uart0_init();
|
||
|
||
while(1){
|
||
rectrame(buffer);
|
||
char trame[80];
|
||
rectrame(trame);
|
||
//alphabet(); test alphabet
|
||
|
||
/* arriv?e d'un caract?re sur le port s?rie
|
||
... | ... | |
//Initialisaton du Registre U0C0
|
||
clk1_u0c0 = 0;
|
||
clk0_u0c0 = 1;
|
||
crs_u0c0 = 1;
|
||
crs_u0c0 = 0;
|
||
crd_u0c0 = 1;
|
||
nch_u0c0 = 0;
|
||
ckpol_u0c0 = 0;
|
||
... | ... | |
u0brg = 0x20;
|
||
|
||
//Initialisaton du Registre U0C1
|
||
te_u0c1 = 0;
|
||
re_u0c1 = 0;
|
||
te_u0c1 = 1;
|
||
re_u0c1 = 1;
|
||
//uoirs_u0c1 = 0;
|
||
u0rrm_u0c1 = 0;
|
||
u0lch_u0c1 = 0;
|
||
... | ... | |
}
|
||
|
||
void uart0_tx(char c){
|
||
te_u0c1=1;
|
||
crd_u0c0=1;
|
||
crs_u0c0=0;
|
||
while (ti_u0c1=0); //attente
|
||
u0tb=c;
|
||
}
|
||
|
||
char uart0_rx(){
|
||
while (ri_u0c1=0); //attente
|
||
while (!ri_u0c1); //attente
|
||
return u0rb;
|
||
}
|
||
|
||
... | ... | |
}
|
||
}
|
||
|
||
int rectrame(char *buffer){
|
||
int i=0,cheksum=0;
|
||
|
||
while (uart0_rx()!='$'); //attente d'une trame
|
||
while (uart0_rx()!='*'){
|
||
buffer[i]=uart0_rx();
|
||
i++;
|
||
}
|
||
}
|
||
|
||
int hex2int(char *c){
|
||
int i;
|
||
int d;
|
||
|
||
for (i=0;i<2;i++){
|
||
//Pour des chiffres, la valeur hexad?cimal correspond ? la valeur d?cimal
|
||
if ( (c[i]>'0') && (c[i]<'9')){
|
||
d += (c[i] - '0')*pow(2,-4*(i-1));
|
||
c[i]-='0';
|
||
}
|
||
//La valeur d?cimale de A est 10 et au max on aura la lettre F en hexa
|
||
else if ((c[i]>'A')&&(c[i]<'F')){
|
||
d += (c[i]-55)*pow(2,-4*(i-1));
|
||
c[i]-=55;
|
||
}
|
||
}
|
||
d=c[0]+16*c[1];
|
||
return d;
|
||
}
|
||
|
||
|
||
int rectrame(char *buffer){
|
||
int i=0,j=0;
|
||
char checksum, c;
|
||
char fin_trame[]={'0','0'};
|
||
int verifchecksum;
|
||
|
||
while (uart0_rx()!='$'); //attente d'une trame
|
||
|
||
//Reception trame dans buffer et calcul du checksum avec un OU exclusif sur chaque caract?re de la trame
|
||
c=uart0_rx();
|
||
while (c!='*'){
|
||
buffer[i]=c;
|
||
c=uart0_rx();
|
||
i++;
|
||
|
||
if ((buffer[i]!='$')&&(buffer[i]!='*')){
|
||
checksum^= buffer[i]; //ou exclusif sur chaque caract?re de la trame
|
||
}
|
||
}
|
||
//R?c?ption des 2 caract?res apr?s le * de la trame dans la cha?ne fin_trame (utile pour le checksum)
|
||
while (j<2){
|
||
fin_trame[j]= uart0_rx();
|
||
j++;
|
||
}
|
||
|
||
//V?rification entre le checksum calcul? tout au long de la trame et celui calcul? par la converion du champ en hexa apr?s '*'
|
||
verifchecksum = hex2int(fin_trame);
|
||
//if (verifchecksum!=checksum){
|
||
// i=0;
|
||
//}
|
||
return i;
|
||
}
|
||
|
||
/*int irectrame(char *buffer){
|
||
int etat =1
|
||
|
||
switch(etat){
|
||
case 1: if (
|
||
}
|
||
}*/
|
Formats disponibles : Unified diff
Rectrame : debuger checksum