精简项目
删除了不需要的文件,并整理了文件夹
This commit is contained in:
63
PORTING/USMART/readme.txt
Normal file
63
PORTING/USMART/readme.txt
Normal file
@@ -0,0 +1,63 @@
|
||||
USMART V3.1
|
||||
USMART<52><54><EFBFBD><EFBFBD>ALIENTEK<45><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ɵĴ<C9B5><C4B4>ڵ<EFBFBD><DAB5>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ͨ<><CDA8> <20><>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>ó<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κκ<EFBFBD><EFBFBD><EFBFBD>,<2C><>ִ<EFBFBD><D6B4>.<2E><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(10/16<31><36><EFBFBD><EFBFBD>)<29><><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>),<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>֧<EFBFBD>ֺ<EFBFBD><D6BA><EFBFBD><EFBFBD><EFBFBD> <20><>ֵ<EFBFBD><D6B5>ʾ.V2.1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
hex<EFBFBD><EFBFBD>dec<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>.<2E><><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ʽ.Ҳ<><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĽ<DDB5><C4BD><EFBFBD>ת<EFBFBD><D7AA>.
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"hex 100" <20><><EFBFBD>ڴ<EFBFBD><DAB4>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> HEX 0X64.
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"dec 0X64" <20><><EFBFBD>ڴ<EFBFBD><DAB4>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> DEC 100.
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>
|
||||
V1.4
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶Բ<EFBFBD><EFBFBD><EFBFBD>Ϊstring<EFBFBD><EFBFBD><EFBFBD>͵ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>.<2E><><EFBFBD>÷<EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
<EFBFBD>Ż<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ռ<EFBFBD><EFBFBD>,<2C><>̬<EFBFBD>ڴ<EFBFBD>ռ<EFBFBD><D5BC>Ϊ79<37><39><EFBFBD>ֽ<EFBFBD>@10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><>̬<EFBFBD><CCAC>Ӧ<EFBFBD><D3A6><EFBFBD>ּ<EFBFBD><D6BC>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
V2.0
|
||||
1,<2C><EFBFBD><DEB8><EFBFBD>listָ<74><D6B8>,<2C><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ.
|
||||
2,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>idָ<64><D6B8>,<2C><>ӡÿ<D3A1><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ַ.
|
||||
3,<2C><EFBFBD><DEB8>˲<EFBFBD><CBB2><EFBFBD>ƥ<EFBFBD><C6A5>,֧<>ֺ<EFBFBD><D6BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ַ).
|
||||
4,<2C><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱥ궨<C8BA><EAB6A8>.
|
||||
V2.1 20110707
|
||||
1,<2C><><EFBFBD><EFBFBD>dec,hex<65><78><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>,<2C><>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>ת<EFBFBD><D7AA>.
|
||||
ע:<3A><>dec,hex<65><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><><EFBFBD>趨<EFBFBD><E8B6A8>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>ת<EFBFBD><D7AA>.
|
||||
<EFBFBD><EFBFBD>:"dec 0XFF" <20><><EFBFBD>Ὣ0XFFתΪ255,<2C>ɴ<EFBFBD><C9B4>ڷ<EFBFBD><DAB7><EFBFBD>.
|
||||
<EFBFBD><EFBFBD>:"hex 100" <09><><EFBFBD>Ὣ100תΪ0X64,<2C>ɴ<EFBFBD><C9B4>ڷ<EFBFBD><DAB7><EFBFBD>
|
||||
2,<2C><><EFBFBD><EFBFBD>usmart_get_cmdname<6D><65><EFBFBD><EFBFBD>,<2C><><EFBFBD>ڻ<EFBFBD>ȡָ<C8A1><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
V2.2 20110726
|
||||
1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void<69><64><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>ͳ<EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD>.
|
||||
2,<2C><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ʽĬ<CABD><C4AC>Ϊ16<31><36><EFBFBD><EFBFBD>.
|
||||
V2.3 20110815
|
||||
1,ȥ<><C8A5><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
2,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD>"("<22><>bug.
|
||||
3,<2C><EFBFBD><DEB8>˺<EFBFBD><CBBA><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ķ<DEB8>ʽ.
|
||||
V2.4 20110905
|
||||
1,<2C><EFBFBD><DEB8><EFBFBD>usmart_get_cmdname<6D><65><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
2,<2C><><EFBFBD><EFBFBD>USMART_ENTIM2_SCAN<41>궨<EFBFBD><EAB6A8>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ʹ<EFBFBD><CAB9>TIM2<4D><32>ʱִ<CAB1><D6B4>scan<61><6E><EFBFBD><EFBFBD>.
|
||||
V2.5 20110930
|
||||
1,<2C><EFBFBD>usmart_init<69><74><EFBFBD><EFBFBD>Ϊvoid usmart_init(u8 sysclk),<2C><><EFBFBD>Ը<EFBFBD><D4B8><EFBFBD>ϵͳƵ<CDB3><C6B5><EFBFBD>Զ<EFBFBD><D4B6>趨ɨ<E8B6A8><C9A8>ʱ<EFBFBD><CAB1>.(<28>̶<EFBFBD>100ms)
|
||||
2,ȥ<><C8A5><EFBFBD><EFBFBD>usmart_init<69><74><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>uart_init<69><74><EFBFBD><EFBFBD>,<2C><><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF>ʼ<EFBFBD><CABC>,<2C><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD>.
|
||||
V2.6 20111009
|
||||
1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>read_addr<64><72>write_addr<64><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>ַ).<2E><><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
2,read_addr<64><72>write_addr<64><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USMART_USE_WRFUNSΪ<53><CEAA>ʹ<EFBFBD>ܺر<CDB9>.
|
||||
3,<2C><EFBFBD><DEB8><EFBFBD>usmart_strcmp,ʹ<><CAB9><EFBFBD>淶<EFBFBD><E6B7B6>.
|
||||
V2.7 20111024
|
||||
1,<2C><><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD>ֵ16<31><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾʱ<CABE><CAB1><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>bug.
|
||||
2,<2C><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>з<EFBFBD><D0B7><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ж<EFBFBD>,<2C><><EFBFBD><EFBFBD>û<EFBFBD>з<EFBFBD><D0B7><EFBFBD>ֵ,<2C><EFBFBD><F2B2BBBB><EFBFBD>ʾ.<2E>з<EFBFBD><D0B7><EFBFBD>ֵʱ<D6B5><CAB1><EFBFBD><EFBFBD>ʾ<EFBFBD>䷵<EFBFBD><E4B7B5>ֵ.
|
||||
V2.8 20111116
|
||||
1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>list<73>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bug.
|
||||
V2.9 20120917
|
||||
1,<2C><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>磺void*xxx(void)<29><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>bug<75><67>
|
||||
V3.0 20130425
|
||||
1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>֡<EFBFBD>
|
||||
V3.1 20131120
|
||||
1,<2C><><EFBFBD><EFBFBD>runtimeϵͳָ<CDB3><D6B8>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>.
|
||||
<EFBFBD>÷<EFBFBD>:
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:runtime 1 ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>ͳ<EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:runtime 0 ,<2C><><EFBFBD>رպ<D8B1><D5BA><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>ͳ<EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>
|
||||
runtimeͳ<EFBFBD>ƹ<EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:USMART_ENTIMX_SCAN Ϊ1,<2C>ſ<EFBFBD><C5BF><EFBFBD>ʹ<EFBFBD><CAB9>!!
|
||||
|
||||
|
||||
|
||||
<09><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>@ALIENTEK
|
||||
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
|
||||
<09><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>:2013/11/20
|
||||
Copyright(C) ALIENTEK 2011-2021
|
||||
455
PORTING/USMART/usmart.c
Normal file
455
PORTING/USMART/usmart.c
Normal file
@@ -0,0 +1,455 @@
|
||||
#include "usmart.h"
|
||||
#include "usart.h"
|
||||
#include "sys.h"
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>;
|
||||
//ALIENTEK STM32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>@ALIENTEK
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
|
||||
//<2F>汾<EFBFBD><E6B1BE>V3.1
|
||||
//<2F><>Ȩ<EFBFBD><C8A8><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
|
||||
//Copyright(C) <20><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD> 2011-2021
|
||||
//All rights reserved
|
||||
//********************************************************************************
|
||||
//<2F><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
//V1.4
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>˶Բ<CBB6><D4B2><EFBFBD>Ϊstring<6E><67><EFBFBD>͵ĺ<CDB5><C4BA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>.<2E><><EFBFBD>÷<EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//<2F>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD>ڴ<EFBFBD>ռ<EFBFBD><D5BC>,<2C><>̬<EFBFBD>ڴ<EFBFBD>ռ<EFBFBD><D5BC>Ϊ79<37><39><EFBFBD>ֽ<EFBFBD>@10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><>̬<EFBFBD><CCAC>Ӧ<EFBFBD><D3A6><EFBFBD>ּ<EFBFBD><D6BC>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//V2.0
|
||||
//1,<2C><EFBFBD><DEB8><EFBFBD>listָ<74><D6B8>,<2C><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ.
|
||||
//2,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>idָ<64><D6B8>,<2C><>ӡÿ<D3A1><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ַ.
|
||||
//3,<2C><EFBFBD><DEB8>˲<EFBFBD><CBB2><EFBFBD>ƥ<EFBFBD><C6A5>,֧<>ֺ<EFBFBD><D6BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ַ).
|
||||
//4,<2C><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱥ궨<C8BA><EAB6A8>.
|
||||
//V2.1 20110707
|
||||
//1,<2C><><EFBFBD><EFBFBD>dec,hex<65><78><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>,<2C><>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>ת<EFBFBD><D7AA>.
|
||||
//ע:<3A><>dec,hex<65><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><><EFBFBD>趨<EFBFBD><E8B6A8>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>ת<EFBFBD><D7AA>.
|
||||
//<2F><>:"dec 0XFF" <20><><EFBFBD>Ὣ0XFFתΪ255,<2C>ɴ<EFBFBD><C9B4>ڷ<EFBFBD><DAB7><EFBFBD>.
|
||||
//<2F><>:"hex 100" <09><><EFBFBD>Ὣ100תΪ0X64,<2C>ɴ<EFBFBD><C9B4>ڷ<EFBFBD><DAB7><EFBFBD>
|
||||
//2,<2C><><EFBFBD><EFBFBD>usmart_get_cmdname<6D><65><EFBFBD><EFBFBD>,<2C><><EFBFBD>ڻ<EFBFBD>ȡָ<C8A1><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//V2.2 20110726
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void<69><64><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>ͳ<EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD>.
|
||||
//2,<2C><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ʽĬ<CABD><C4AC>Ϊ16<31><36><EFBFBD><EFBFBD>.
|
||||
//V2.3 20110815
|
||||
//1,ȥ<><C8A5><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//2,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD>"("<22><>bug.
|
||||
//3,<2C><EFBFBD><DEB8>˺<EFBFBD><CBBA><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ķ<DEB8>ʽ.
|
||||
//V2.4 20110905
|
||||
//1,<2C><EFBFBD><DEB8><EFBFBD>usmart_get_cmdname<6D><65><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//2,<2C><><EFBFBD><EFBFBD>USMART_ENTIM2_SCAN<41>궨<EFBFBD><EAB6A8>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ʹ<EFBFBD><CAB9>TIM2<4D><32>ʱִ<CAB1><D6B4>scan<61><6E><EFBFBD><EFBFBD>.
|
||||
//V2.5 20110930
|
||||
//1,<2C><EFBFBD>usmart_init<69><74><EFBFBD><EFBFBD>Ϊvoid usmart_init(u8 sysclk),<2C><><EFBFBD>Ը<EFBFBD><D4B8><EFBFBD>ϵͳƵ<CDB3><C6B5><EFBFBD>Զ<EFBFBD><D4B6>趨ɨ<E8B6A8><C9A8>ʱ<EFBFBD><CAB1>.(<28>̶<EFBFBD>100ms)
|
||||
//2,ȥ<><C8A5><EFBFBD><EFBFBD>usmart_init<69><74><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>uart_init<69><74><EFBFBD><EFBFBD>,<2C><><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF>ʼ<EFBFBD><CABC>,<2C><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD>.
|
||||
//V2.6 20111009
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>read_addr<64><72>write_addr<64><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>ַ).<2E><><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//2,read_addr<64><72>write_addr<64><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USMART_USE_WRFUNSΪ<53><CEAA>ʹ<EFBFBD>ܺر<CDB9>.
|
||||
//3,<2C><EFBFBD><DEB8><EFBFBD>usmart_strcmp,ʹ<><CAB9><EFBFBD>淶<EFBFBD><E6B7B6>.
|
||||
//V2.7 20111024
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD>ֵ16<31><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾʱ<CABE><CAB1><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>bug.
|
||||
//2,<2C><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>з<EFBFBD><D0B7><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ж<EFBFBD>,<2C><><EFBFBD><EFBFBD>û<EFBFBD>з<EFBFBD><D0B7><EFBFBD>ֵ,<2C><EFBFBD><F2B2BBBB><EFBFBD>ʾ.<2E>з<EFBFBD><D0B7><EFBFBD>ֵʱ<D6B5><CAB1><EFBFBD><EFBFBD>ʾ<EFBFBD>䷵<EFBFBD><E4B7B5>ֵ.
|
||||
//V2.8 20111116
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>list<73>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bug.
|
||||
//V2.9 20120917
|
||||
//1,<2C><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>磺void*xxx(void)<29><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>bug<75><67>
|
||||
//V3.0 20130425
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>֡<EFBFBD>
|
||||
//V3.1 20131120
|
||||
//1,<2C><><EFBFBD><EFBFBD>runtimeϵͳָ<CDB3><D6B8>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>.
|
||||
//<2F>÷<EFBFBD>:
|
||||
//<2F><><EFBFBD><EFBFBD>:runtime 1 ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>ͳ<EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD>:runtime 0 ,<2C><><EFBFBD>رպ<D8B1><D5BA><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>ͳ<EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>
|
||||
///runtimeͳ<65>ƹ<EFBFBD><C6B9><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:USMART_ENTIMX_SCAN Ϊ1,<2C>ſ<EFBFBD><C5BF><EFBFBD>ʹ<EFBFBD><CAB9>!!
|
||||
//V3.2 20140828
|
||||
//1,<2C><EFBFBD>usmart_get_aparm<72><6D><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>+/-<2D><><EFBFBD>ŵ<EFBFBD>֧<EFBFBD><D6A7>
|
||||
//2,<2C><EFBFBD>usmart_str2num<75><6D><EFBFBD><EFBFBD>,֧<>ָ<EFBFBD><D6B8><EFBFBD>ת<EFBFBD><D7AA>
|
||||
//V3.3 20160506
|
||||
//<2F><><EFBFBD><EFBFBD>usmart_exe<78><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USMART_ENTIMX_SCANΪ0<CEAA><30>ʱ<EFBFBD><EFBFBD><F2A3ACB1><EFBFBD><EFBFBD><EFBFBD>bug
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
TIM_HandleTypeDef TIM4_Handler; //<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
|
||||
u8 *sys_cmd_tab[]=
|
||||
{
|
||||
"?",
|
||||
"help",
|
||||
"list",
|
||||
"id",
|
||||
"hex",
|
||||
"dec",
|
||||
"runtime",
|
||||
};
|
||||
//<2F><><EFBFBD><EFBFBD>ϵͳָ<CDB3><D6B8>
|
||||
//0,<2C>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
||||
u8 usmart_sys_cmd_exe(u8 *str)
|
||||
{
|
||||
u8 i;
|
||||
u8 sfname[MAX_FNAME_LEN];//<2F><><EFBFBD>ű<EFBFBD><C5B1>غ<EFBFBD><D8BA><EFBFBD><EFBFBD><EFBFBD>
|
||||
u8 pnum;
|
||||
u8 rval;
|
||||
u32 res;
|
||||
res=usmart_get_cmdname(str,sfname,&i,MAX_FNAME_LEN);//<2F>õ<EFBFBD>ָ<EFBFBD>ָ<EEBCB0><EFBFBD><EEB3A4>
|
||||
if(res)return USMART_FUNCERR;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
str+=i;
|
||||
for(i=0;i<sizeof(sys_cmd_tab)/4;i++)//֧<>ֵ<EFBFBD>ϵͳָ<CDB3><D6B8>
|
||||
{
|
||||
if(usmart_strcmp(sfname,sys_cmd_tab[i])==0)break;
|
||||
}
|
||||
switch(i)
|
||||
{
|
||||
case 0:
|
||||
case 1://<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
printf("\r\n");
|
||||
#if USMART_USE_HELP
|
||||
printf("------------------------USMART V3.3------------------------ \r\n");
|
||||
printf(" USMART<52><54><EFBFBD><EFBFBD>ALIENTEK<45><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ɵĴ<C9B5><C4B4>ڵ<EFBFBD><DAB5>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ͨ<><CDA8> \r\n");
|
||||
printf("<EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κκ<CEBA><CEBA><EFBFBD>,<2C><>ִ<EFBFBD><D6B4>.<2E><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>\r\n");
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(10/16<31><36><EFBFBD><EFBFBD>,֧<>ָ<EFBFBD><D6B8><EFBFBD>)<29><><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>\r\n"),
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>),<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>֧<EFBFBD><D6A7>\r\n"),
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ʾ.֧<>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><C3B9><EFBFBD>,֧<>ֽ<EFBFBD><D6BD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\r\n");
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>:www.openedv.com\r\n");
|
||||
printf("USMART<EFBFBD><EFBFBD>7<EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>Сд):\r\n");
|
||||
printf("?: <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ\r\n");
|
||||
printf("help: <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ\r\n");
|
||||
printf("list: <20><><EFBFBD>õĺ<C3B5><C4BA><EFBFBD><EFBFBD>б<EFBFBD>\r\n\n");
|
||||
printf("id: <20><><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD>ID<49>б<EFBFBD>\r\n\n");
|
||||
printf("hex: <20><><EFBFBD><EFBFBD>16<31><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ,<2C><><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD>+<2B><><EFBFBD>ּ<EFBFBD>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>ת<EFBFBD><D7AA>\r\n\n");
|
||||
printf("dec: <20><><EFBFBD><EFBFBD>10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ,<2C><><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD>+<2B><><EFBFBD>ּ<EFBFBD>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>ת<EFBFBD><D7AA>\r\n\n");
|
||||
printf("runtime:1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>ʱ;0,<2C>رպ<D8B1><D5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>ʱ;\r\n\n");
|
||||
printf("<EFBFBD>밴<EFBFBD>ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>뺯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Իس<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\r\n");
|
||||
printf("--------------------------ALIENTEK------------------------- \r\n");
|
||||
#else
|
||||
printf("ָ<EFBFBD><EFBFBD>ʧЧ\r\n");
|
||||
#endif
|
||||
break;
|
||||
case 2://<2F><>ѯָ<D1AF><D6B8>
|
||||
printf("\r\n");
|
||||
printf("-------------------------<2D><><EFBFBD><EFBFBD><EFBFBD>嵥--------------------------- \r\n");
|
||||
for(i=0;i<usmart_dev.fnum;i++)printf("%s\r\n",usmart_dev.funs[i].name);
|
||||
printf("\r\n");
|
||||
break;
|
||||
case 3://<2F><>ѯID
|
||||
printf("\r\n");
|
||||
printf("-------------------------<2D><><EFBFBD><EFBFBD> ID --------------------------- \r\n");
|
||||
for(i=0;i<usmart_dev.fnum;i++)
|
||||
{
|
||||
usmart_get_fname((u8*)usmart_dev.funs[i].name,sfname,&pnum,&rval);//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD><EFBFBD><EFBFBD>
|
||||
printf("%s id is:\r\n0X%08X\r\n",sfname,usmart_dev.funs[i].func); //<2F><>ʾID
|
||||
}
|
||||
printf("\r\n");
|
||||
break;
|
||||
case 4://hexָ<78><D6B8>
|
||||
printf("\r\n");
|
||||
usmart_get_aparm(str,sfname,&i);
|
||||
if(i==0)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
i=usmart_str2num(sfname,&res); //<2F><>¼<EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
||||
if(i==0) //<2F><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
printf("HEX:0X%X\r\n",res); //תΪ16<31><36><EFBFBD><EFBFBD>
|
||||
}else if(i!=4)return USMART_PARMERR;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
else //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>趨<EFBFBD><E8B6A8><EFBFBD><EFBFBD>
|
||||
{
|
||||
printf("16<EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ!\r\n");
|
||||
usmart_dev.sptype=SP_TYPE_HEX;
|
||||
}
|
||||
|
||||
}else return USMART_PARMERR; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
printf("\r\n");
|
||||
break;
|
||||
case 5://decָ<63><D6B8>
|
||||
printf("\r\n");
|
||||
usmart_get_aparm(str,sfname,&i);
|
||||
if(i==0)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
i=usmart_str2num(sfname,&res); //<2F><>¼<EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
||||
if(i==0) //<2F><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
printf("DEC:%lu\r\n",res); //תΪ10<31><30><EFBFBD><EFBFBD>
|
||||
}else if(i!=4)return USMART_PARMERR;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
else //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>趨<EFBFBD><E8B6A8><EFBFBD><EFBFBD>
|
||||
{
|
||||
printf("10<EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ!\r\n");
|
||||
usmart_dev.sptype=SP_TYPE_DEC;
|
||||
}
|
||||
|
||||
}else return USMART_PARMERR; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
printf("\r\n");
|
||||
break;
|
||||
case 6://runtimeָ<65><D6B8>,<2C><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>
|
||||
printf("\r\n");
|
||||
usmart_get_aparm(str,sfname,&i);
|
||||
if(i==0)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
i=usmart_str2num(sfname,&res); //<2F><>¼<EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
||||
if(i==0) //<2F><>ȡָ<C8A1><D6B8><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD>
|
||||
{
|
||||
if(USMART_ENTIMX_SCAN==0)printf("\r\nError! \r\nTo EN RunTime function,Please set USMART_ENTIMX_SCAN = 1 first!\r\n");//<2F><><EFBFBD><EFBFBD>
|
||||
else
|
||||
{
|
||||
usmart_dev.runtimeflag=res;
|
||||
if(usmart_dev.runtimeflag)printf("Run Time Calculation ON\r\n");
|
||||
else printf("Run Time Calculation OFF\r\n");
|
||||
}
|
||||
}else return USMART_PARMERR; //δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}else return USMART_PARMERR; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
printf("\r\n");
|
||||
break;
|
||||
default://<2F>Ƿ<EFBFBD>ָ<EFBFBD><D6B8>
|
||||
return USMART_FUNCERR;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
//<2F><>ֲע<D6B2><D7A2>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>stm32Ϊ<32><CEAA>,<2C><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>mcu,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>.
|
||||
//usmart_reset_runtime,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><>ͬ<EFBFBD><CDAC>ʱ<EFBFBD><CAB1><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>־λһ<CEBB><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>ֵΪ<D6B5><CEAA><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵ<DEB6><C8B5>ӳ<EFBFBD><D3B3><EFBFBD>ʱʱ<CAB1><CAB1>.
|
||||
//usmart_get_runtime,<2C><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,ͨ<><CDA8><EFBFBD><EFBFBD>ȡCNTֵ<54><D6B5>ȡ,<2C><><EFBFBD><EFBFBD>usmart<72><74>ͨ<EFBFBD><CDA8><EFBFBD>жϵ<D0B6><CFB5>õĺ<C3B5><C4BA><EFBFBD>,<2C><><EFBFBD>Զ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>жϲ<D0B6><CFB2><EFBFBD><EFBFBD><EFBFBD>Ч,<2C><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//ֻ<><D6BB>ͳ<EFBFBD><CDB3>2<EFBFBD><32>CNT<4E><54>ֵ,Ҳ<><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32>,û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:2*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CNT*0.1ms.<2E><>STM32<33><32>˵,<2C><>:13.1s<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:TIM4_IRQHandler<65><72>Timer4_Init,<2C><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>MCU<43>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.ȷ<><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>Ϊ:10Khz<68><7A><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD>,<2C><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>װ<EFBFBD>ع<EFBFBD><D8B9><EFBFBD>!!
|
||||
|
||||
#if USMART_ENTIMX_SCAN==1
|
||||
//<2F><>λruntime
|
||||
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD>MCU<43>Ķ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
void usmart_reset_runtime(void)
|
||||
{
|
||||
__HAL_TIM_CLEAR_FLAG(&TIM4_Handler,TIM_FLAG_UPDATE);//<2F><><EFBFBD><EFBFBD><EFBFBD>жϱ<D0B6>־λ
|
||||
__HAL_TIM_SET_AUTORELOAD(&TIM4_Handler,0XFFFF); //<2F><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>ֵ<EFBFBD><D6B5><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
|
||||
__HAL_TIM_SET_COUNTER(&TIM4_Handler,0); //<2F><><EFBFBD>ն<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>CNT
|
||||
usmart_dev.runtime=0;
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD>runtimeʱ<65><CAB1>
|
||||
//<2F><><EFBFBD><EFBFBD>ֵ:ִ<><D6B4>ʱ<EFBFBD><CAB1>,<2C><>λ:0.1ms,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<CAB1><CAB1>Ϊ<EFBFBD><CEAA>ʱ<EFBFBD><CAB1>CNTֵ<54><D6B5>2<EFBFBD><32>*0.1ms
|
||||
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD>MCU<43>Ķ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
u32 usmart_get_runtime(void)
|
||||
{
|
||||
if(__HAL_TIM_GET_FLAG(&TIM4_Handler,TIM_FLAG_UPDATE)==SET)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
usmart_dev.runtime+=0XFFFF;
|
||||
}
|
||||
usmart_dev.runtime+=__HAL_TIM_GET_COUNTER(&TIM4_Handler);
|
||||
return usmart_dev.runtime; //<2F><><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD>ֵ
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>USMART<52><54><EFBFBD><EFBFBD>,<2C>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ.
|
||||
//<2F><>ʱ<EFBFBD><CAB1>4<EFBFBD>жϷ<D0B6><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
void TIM4_IRQHandler(void)
|
||||
{
|
||||
if(__HAL_TIM_GET_IT_SOURCE(&TIM4_Handler,TIM_IT_UPDATE)==SET)//<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
||||
{
|
||||
usmart_dev.scan(); //ִ<><D6B4>usmartɨ<74><C9A8>
|
||||
__HAL_TIM_SET_COUNTER(&TIM4_Handler,0);; //<2F><><EFBFBD>ն<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>CNT
|
||||
__HAL_TIM_SET_AUTORELOAD(&TIM4_Handler,100);//<2F>ָ<EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
__HAL_TIM_CLEAR_IT(&TIM4_Handler, TIM_IT_UPDATE);//<2F><><EFBFBD><EFBFBD><EFBFBD>жϱ<D0B6>־λ
|
||||
}
|
||||
|
||||
//ʹ<>ܶ<EFBFBD>ʱ<EFBFBD><CAB1>4,ʹ<><CAB9><EFBFBD>ж<EFBFBD>.
|
||||
void Timer4_Init(u16 arr,u16 psc)
|
||||
{
|
||||
//<2F><>ʱ<EFBFBD><CAB1>4
|
||||
__HAL_RCC_TIM4_CLK_ENABLE();
|
||||
HAL_NVIC_SetPriority(TIM4_IRQn,3,3); //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>3
|
||||
HAL_NVIC_EnableIRQ(TIM4_IRQn); //<2F><><EFBFBD><EFBFBD>ITM4<4D>ж<EFBFBD>
|
||||
|
||||
TIM4_Handler.Instance=TIM4; //ͨ<>ö<EFBFBD>ʱ<EFBFBD><CAB1>4
|
||||
TIM4_Handler.Init.Prescaler=psc; //<2F><>Ƶ
|
||||
TIM4_Handler.Init.CounterMode=TIM_COUNTERMODE_UP; //<2F><><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD><EFBFBD><EFBFBD>
|
||||
TIM4_Handler.Init.Period=arr; //<2F>Զ<EFBFBD>װ<EFBFBD><D7B0>ֵ
|
||||
TIM4_Handler.Init.ClockDivision=TIM_CLOCKDIVISION_DIV1;
|
||||
HAL_TIM_Base_Init(&TIM4_Handler);
|
||||
HAL_TIM_Base_Start_IT(&TIM4_Handler); //ʹ<>ܶ<EFBFBD>ʱ<EFBFBD><CAB1>4<EFBFBD>Ͷ<EFBFBD>ʱ<EFBFBD><CAB1>4<EFBFBD>ж<EFBFBD>
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD>
|
||||
//sysclk:ϵͳʱ<CDB3>ӣ<EFBFBD>Mhz<68><7A>
|
||||
void usmart_init(u8 sysclk)
|
||||
{
|
||||
#if USMART_ENTIMX_SCAN==1
|
||||
Timer4_Init(1000,(u32)sysclk*100-1);//<2F><>Ƶ,ʱ<><CAB1>Ϊ10K ,100ms<6D>ж<EFBFBD>һ<EFBFBD><D2BB>,ע<><D7A2>,<2C><><EFBFBD><EFBFBD>Ƶ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Ϊ10Khz,<2C>Ժ<EFBFBD>runtime<6D><65>λ(0.1ms)ͬ<><CDAC>.
|
||||
#endif
|
||||
usmart_dev.sptype=1; //ʮ<><CAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||
}
|
||||
//<2F><>str<74>л<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,id,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||
//*str:<3A>ַ<EFBFBD><D6B7><EFBFBD>ָ<EFBFBD><D6B8>.
|
||||
//<2F><><EFBFBD><EFBFBD>ֵ:0,ʶ<><CAB6><EFBFBD>ɹ<EFBFBD>;<3B><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
u8 usmart_cmd_rec(u8*str)
|
||||
{
|
||||
u8 sta,i,rval;//״̬
|
||||
u8 rpnum,spnum;
|
||||
u8 rfname[MAX_FNAME_LEN];//<2F>ݴ<EFBFBD><DDB4>ռ<EFBFBD>,<2C><><EFBFBD>ڴ<EFBFBD><DAB4>Ž<EFBFBD><C5BD>յ<EFBFBD><D5B5>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD>
|
||||
u8 sfname[MAX_FNAME_LEN];//<2F><><EFBFBD>ű<EFBFBD><C5B1>غ<EFBFBD><D8BA><EFBFBD><EFBFBD><EFBFBD>
|
||||
sta=usmart_get_fname(str,rfname,&rpnum,&rval);//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĺ<DDB5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(sta)return sta;//<2F><><EFBFBD><EFBFBD>
|
||||
for(i=0;i<usmart_dev.fnum;i++)
|
||||
{
|
||||
sta=usmart_get_fname((u8*)usmart_dev.funs[i].name,sfname,&spnum,&rval);//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(sta)return sta;//<2F><><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(usmart_strcmp(sfname,rfname)==0)//<2F><><EFBFBD><EFBFBD>
|
||||
{
|
||||
if(spnum>rpnum)return USMART_PARMERR;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
usmart_dev.id=i;//<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ID.
|
||||
break;//<2F><><EFBFBD><EFBFBD>.
|
||||
}
|
||||
}
|
||||
if(i==usmart_dev.fnum)return USMART_NOFUNCFIND; //δ<>ҵ<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>
|
||||
sta=usmart_get_fparam(str,&i); //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(sta)return sta; //<2F><><EFBFBD>ش<EFBFBD><D8B4><EFBFBD>
|
||||
usmart_dev.pnum=i; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼
|
||||
return USMART_OK;
|
||||
}
|
||||
//usamrtִ<74>к<EFBFBD><D0BA><EFBFBD>
|
||||
//<2F>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>дӴ<D0B4><D3B4><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>.
|
||||
//<2F><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>֧<EFBFBD><D6A7>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>.<2E><><EFBFBD><EFBFBD><EFBFBD>õĺ<C3B5><C4BA><EFBFBD>.һ<><D2BB>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD>ҵIJ<D2B5><C4B2><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>ټ<EFBFBD><D9BC><EFBFBD>.
|
||||
//<2F>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ڴ<EFBFBD>ӡִ<D3A1><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><>:"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2...<2E><><EFBFBD><EFBFBD>N)=<3D><><EFBFBD><EFBFBD>ֵ".<2E><><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>ӡ.
|
||||
//<2F><><EFBFBD><EFBFBD>ִ<EFBFBD>еĺ<D0B5><C4BA><EFBFBD>û<EFBFBD>з<EFBFBD><D0B7><EFBFBD>ֵ<EFBFBD><D6B5>ʱ<EFBFBD><CAB1>,<2C><><EFBFBD><EFBFBD>ӡ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>ֵ<EFBFBD><D6B5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
void usmart_exe(void)
|
||||
{
|
||||
u8 id,i;
|
||||
u32 res;
|
||||
u32 temp[MAX_PARM];//<2F><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>,ʹ֧֮<D6AE><D6A7><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||
u8 sfname[MAX_FNAME_LEN];//<2F><><EFBFBD>ű<EFBFBD><C5B1>غ<EFBFBD><D8BA><EFBFBD><EFBFBD><EFBFBD>
|
||||
u8 pnum,rval;
|
||||
id=usmart_dev.id;
|
||||
if(id>=usmart_dev.fnum)return;//<2F><>ִ<EFBFBD><D6B4>.
|
||||
usmart_get_fname((u8*)usmart_dev.funs[id].name,sfname,&pnum,&rval);//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
printf("\r\n%s(",sfname);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫִ<D2AA>еĺ<D0B5><C4BA><EFBFBD><EFBFBD><EFBFBD>
|
||||
for(i=0;i<pnum;i++)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
if(usmart_dev.parmtype&(1<<i))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||
{
|
||||
printf("%c",'"');
|
||||
printf("%s",usmart_dev.parm+usmart_get_parmpos(i));
|
||||
printf("%c",'"');
|
||||
temp[i]=(u32)&(usmart_dev.parm[usmart_get_parmpos(i)]);
|
||||
}else //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
temp[i]=*(u32*)(usmart_dev.parm+usmart_get_parmpos(i));
|
||||
if(usmart_dev.sptype==SP_TYPE_DEC)printf("%ld",temp[i]);//10<31><30><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD>ʾ
|
||||
else printf("0X%X",temp[i]);//16<31><36><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD>ʾ
|
||||
}
|
||||
if(i!=pnum-1)printf(",");
|
||||
}
|
||||
printf(")");
|
||||
#if USMART_ENTIMX_SCAN==1
|
||||
usmart_reset_runtime(); //<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>ʼ<EFBFBD><CABC>ʱ
|
||||
#endif
|
||||
switch(usmart_dev.pnum)
|
||||
{
|
||||
case 0://<2F><EFBFBD><DEB2><EFBFBD>(void<69><64><EFBFBD><EFBFBD>)
|
||||
res=(*(u32(*)())usmart_dev.funs[id].func)();
|
||||
break;
|
||||
case 1://<2F><>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
res=(*(u32(*)())usmart_dev.funs[id].func)(temp[0]);
|
||||
break;
|
||||
case 2://<2F><>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
res=(*(u32(*)())usmart_dev.funs[id].func)(temp[0],temp[1]);
|
||||
break;
|
||||
case 3://<2F><>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
res=(*(u32(*)())usmart_dev.funs[id].func)(temp[0],temp[1],temp[2]);
|
||||
break;
|
||||
case 4://<2F><>4<EFBFBD><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
res=(*(u32(*)())usmart_dev.funs[id].func)(temp[0],temp[1],temp[2],temp[3]);
|
||||
break;
|
||||
case 5://<2F><>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
res=(*(u32(*)())usmart_dev.funs[id].func)(temp[0],temp[1],temp[2],temp[3],temp[4]);
|
||||
break;
|
||||
case 6://<2F><>6<EFBFBD><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
res=(*(u32(*)())usmart_dev.funs[id].func)(temp[0],temp[1],temp[2],temp[3],temp[4],\
|
||||
temp[5]);
|
||||
break;
|
||||
case 7://<2F><>7<EFBFBD><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
res=(*(u32(*)())usmart_dev.funs[id].func)(temp[0],temp[1],temp[2],temp[3],temp[4],\
|
||||
temp[5],temp[6]);
|
||||
break;
|
||||
case 8://<2F><>8<EFBFBD><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
res=(*(u32(*)())usmart_dev.funs[id].func)(temp[0],temp[1],temp[2],temp[3],temp[4],\
|
||||
temp[5],temp[6],temp[7]);
|
||||
break;
|
||||
case 9://<2F><>9<EFBFBD><39><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
res=(*(u32(*)())usmart_dev.funs[id].func)(temp[0],temp[1],temp[2],temp[3],temp[4],\
|
||||
temp[5],temp[6],temp[7],temp[8]);
|
||||
break;
|
||||
case 10://<2F><>10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
res=(*(u32(*)())usmart_dev.funs[id].func)(temp[0],temp[1],temp[2],temp[3],temp[4],\
|
||||
temp[5],temp[6],temp[7],temp[8],temp[9]);
|
||||
break;
|
||||
}
|
||||
#if USMART_ENTIMX_SCAN==1
|
||||
usmart_get_runtime();//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>
|
||||
#endif
|
||||
if(rval==1)//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ֵ.
|
||||
{
|
||||
if(usmart_dev.sptype==SP_TYPE_DEC)printf("=%lu;\r\n",res);//<2F><><EFBFBD><EFBFBD>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>(10<31><30><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD>ʾ)
|
||||
else printf("=0X%X;\r\n",res);//<2F><><EFBFBD><EFBFBD>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>(16<31><36><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD>ʾ)
|
||||
}else printf(";\r\n"); //<2F><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ֵ,ֱ<><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(usmart_dev.runtimeflag) //<2F><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>
|
||||
{
|
||||
printf("Function Run Time:%d.%1dms\r\n",usmart_dev.runtime/10,usmart_dev.runtime%10);//<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>
|
||||
}
|
||||
}
|
||||
//usmartɨ<74>躯<EFBFBD><E8BAAF>
|
||||
//ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD>øú<C3B8><C3BA><EFBFBD>,ʵ<><CAB5>usmart<72>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD>Ҫÿ<D2AA><C3BF>һ<EFBFBD><D2BB>ʱ<EFBFBD>䱻<EFBFBD><E4B1BB><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
||||
//<2F>Լ<EFBFBD>ʱִ<CAB1>дӴ<D0B4><D3B4>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>Ӷ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ALIENTEK<45>û<EFBFBD>,<2C><>USART_RX_STA<54><41>USART_RX_BUF[]<5D><>Ҫ<EFBFBD>û<EFBFBD><C3BB>Լ<EFBFBD>ʵ<EFBFBD><CAB5>
|
||||
void usmart_scan(void)
|
||||
{
|
||||
u8 sta,len;
|
||||
if(USART_RX_STA&0x8000)//<2F><><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>
|
||||
{
|
||||
len=USART_RX_STA&0x3fff; //<2F>õ<EFBFBD><C3B5>˴ν<CBB4><CEBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
||||
USART_RX_BUF[len]='\0'; //<2F><>ĩβ<C4A9><CEB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
sta=usmart_dev.cmd_rec(USART_RX_BUF);//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||
if(sta==0)usmart_dev.exe(); //ִ<>к<EFBFBD><D0BA><EFBFBD>
|
||||
else
|
||||
{
|
||||
len=usmart_sys_cmd_exe(USART_RX_BUF);
|
||||
if(len!=USMART_FUNCERR)sta=len;
|
||||
if(sta)
|
||||
{
|
||||
switch(sta)
|
||||
{
|
||||
case USMART_FUNCERR:
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!\r\n");
|
||||
|
||||
break;
|
||||
case USMART_PARMERR:
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!\r\n");
|
||||
break;
|
||||
case USMART_PARMOVER:
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̫<EFBFBD><EFBFBD>!\r\n");
|
||||
break;
|
||||
case USMART_NOFUNCFIND:
|
||||
printf("δ<EFBFBD>ҵ<EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>!\r\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
USART_RX_STA=0;//״̬<D7B4>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
}
|
||||
#if USMART_USE_WRFUNS==1 //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>˶<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>
|
||||
//<2F><>ȡָ<C8A1><D6B8><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>ֵ
|
||||
u32 read_addr(u32 addr)
|
||||
{
|
||||
return *(u32*)addr;//
|
||||
}
|
||||
//<2F><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ַд<D6B7><D0B4>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ֵ
|
||||
void write_addr(u32 addr,u32 val)
|
||||
{
|
||||
*(u32*)addr=val;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
158
PORTING/USMART/usmart.h
Normal file
158
PORTING/USMART/usmart.h
Normal file
@@ -0,0 +1,158 @@
|
||||
#ifndef __USMART_H
|
||||
#define __USMART_H
|
||||
#include "usmart_str.h"
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>;
|
||||
//ALIENTEK STM32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>@ALIENTEK
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
|
||||
//<2F>汾<EFBFBD><E6B1BE>V3.1
|
||||
//<2F><>Ȩ<EFBFBD><C8A8><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
|
||||
//Copyright(C) <20><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD> 2011-2021
|
||||
//All rights reserved
|
||||
//********************************************************************************
|
||||
//<2F><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
//V1.4
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>˶Բ<CBB6><D4B2><EFBFBD>Ϊstring<6E><67><EFBFBD>͵ĺ<CDB5><C4BA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>.<2E><><EFBFBD>÷<EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//<2F>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD>ڴ<EFBFBD>ռ<EFBFBD><D5BC>,<2C><>̬<EFBFBD>ڴ<EFBFBD>ռ<EFBFBD><D5BC>Ϊ79<37><39><EFBFBD>ֽ<EFBFBD>@10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><>̬<EFBFBD><CCAC>Ӧ<EFBFBD><D3A6><EFBFBD>ּ<EFBFBD><D6BC>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//V2.0
|
||||
//1,<2C><EFBFBD><DEB8><EFBFBD>listָ<74><D6B8>,<2C><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ.
|
||||
//2,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>idָ<64><D6B8>,<2C><>ӡÿ<D3A1><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ַ.
|
||||
//3,<2C><EFBFBD><DEB8>˲<EFBFBD><CBB2><EFBFBD>ƥ<EFBFBD><C6A5>,֧<>ֺ<EFBFBD><D6BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ַ).
|
||||
//4,<2C><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱥ궨<C8BA><EAB6A8>.
|
||||
//V2.1 20110707
|
||||
//1,<2C><><EFBFBD><EFBFBD>dec,hex<65><78><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>,<2C><>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>ת<EFBFBD><D7AA>.
|
||||
//ע:<3A><>dec,hex<65><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><><EFBFBD>趨<EFBFBD><E8B6A8>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>ת<EFBFBD><D7AA>.
|
||||
//<2F><>:"dec 0XFF" <20><><EFBFBD>Ὣ0XFFתΪ255,<2C>ɴ<EFBFBD><C9B4>ڷ<EFBFBD><DAB7><EFBFBD>.
|
||||
//<2F><>:"hex 100" <09><><EFBFBD>Ὣ100תΪ0X64,<2C>ɴ<EFBFBD><C9B4>ڷ<EFBFBD><DAB7><EFBFBD>
|
||||
//2,<2C><><EFBFBD><EFBFBD>usmart_get_cmdname<6D><65><EFBFBD><EFBFBD>,<2C><><EFBFBD>ڻ<EFBFBD>ȡָ<C8A1><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//V2.2 20110726
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void<69><64><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>ͳ<EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD>.
|
||||
//2,<2C><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ʽĬ<CABD><C4AC>Ϊ16<31><36><EFBFBD><EFBFBD>.
|
||||
//V2.3 20110815
|
||||
//1,ȥ<><C8A5><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//2,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD>"("<22><>bug.
|
||||
//3,<2C><EFBFBD><DEB8>˺<EFBFBD><CBBA><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ķ<DEB8>ʽ.
|
||||
//V2.4 20110905
|
||||
//1,<2C><EFBFBD><DEB8><EFBFBD>usmart_get_cmdname<6D><65><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//2,<2C><><EFBFBD><EFBFBD>USMART_ENTIM2_SCAN<41>궨<EFBFBD><EAB6A8>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ʹ<EFBFBD><CAB9>TIM2<4D><32>ʱִ<CAB1><D6B4>scan<61><6E><EFBFBD><EFBFBD>.
|
||||
//V2.5 20110930
|
||||
//1,<2C><EFBFBD>usmart_init<69><74><EFBFBD><EFBFBD>Ϊvoid usmart_init(u8 sysclk),<2C><><EFBFBD>Ը<EFBFBD><D4B8><EFBFBD>ϵͳƵ<CDB3><C6B5><EFBFBD>Զ<EFBFBD><D4B6>趨ɨ<E8B6A8><C9A8>ʱ<EFBFBD><CAB1>.(<28>̶<EFBFBD>100ms)
|
||||
//2,ȥ<><C8A5><EFBFBD><EFBFBD>usmart_init<69><74><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>uart_init<69><74><EFBFBD><EFBFBD>,<2C><><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF>ʼ<EFBFBD><CABC>,<2C><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD>.
|
||||
//V2.6 20111009
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>read_addr<64><72>write_addr<64><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>ַ).<2E><><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//2,read_addr<64><72>write_addr<64><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USMART_USE_WRFUNSΪ<53><CEAA>ʹ<EFBFBD>ܺر<CDB9>.
|
||||
//3,<2C><EFBFBD><DEB8><EFBFBD>usmart_strcmp,ʹ<><CAB9><EFBFBD>淶<EFBFBD><E6B7B6>.
|
||||
//V2.7 20111024
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD>ֵ16<31><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾʱ<CABE><CAB1><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>bug.
|
||||
//2,<2C><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>з<EFBFBD><D0B7><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ж<EFBFBD>,<2C><><EFBFBD><EFBFBD>û<EFBFBD>з<EFBFBD><D0B7><EFBFBD>ֵ,<2C><EFBFBD><F2B2BBBB><EFBFBD>ʾ.<2E>з<EFBFBD><D0B7><EFBFBD>ֵʱ<D6B5><CAB1><EFBFBD><EFBFBD>ʾ<EFBFBD>䷵<EFBFBD><E4B7B5>ֵ.
|
||||
//V2.8 20111116
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>list<73>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bug.
|
||||
//V2.9 20120917
|
||||
//1,<2C><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>磺void*xxx(void)<29><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>bug<75><67>
|
||||
//V3.0 20130425
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>֡<EFBFBD>
|
||||
//V3.1 20131120
|
||||
//1,<2C><><EFBFBD><EFBFBD>runtimeϵͳָ<CDB3><D6B8>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>.
|
||||
//<2F>÷<EFBFBD>:
|
||||
//<2F><><EFBFBD><EFBFBD>:runtime 1 ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>ͳ<EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD>:runtime 0 ,<2C><><EFBFBD>رպ<D8B1><D5BA><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>ͳ<EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>
|
||||
///runtimeͳ<65>ƹ<EFBFBD><C6B9><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:USMART_ENTIMX_SCAN Ϊ1,<2C>ſ<EFBFBD><C5BF><EFBFBD>ʹ<EFBFBD><CAB9>!!
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
//USMART<52><54>Դռ<D4B4><D5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@MDK 3.80A@2.0<EFBFBD>汾<EFBFBD><EFBFBD>
|
||||
//FLASH:4K~K<>ֽ<EFBFBD>(ͨ<><CDA8>USMART_USE_HELP<4C><50>USMART_USE_WRFUNS<4E><53><EFBFBD><EFBFBD>)
|
||||
//SRAM:72<37>ֽ<EFBFBD>(<28><><EFBFBD>ٵ<EFBFBD><D9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
//SRAM<41><4D><EFBFBD>㹫ʽ: SRAM=PARM_LEN+72-4 <20><><EFBFBD><EFBFBD>PARM_LEN<45><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>4.
|
||||
//Ӧ<>ñ<EFBFBD>֤<EFBFBD><D6A4>ջ<EFBFBD><D5BB>С<EFBFBD><D0A1>100<30><30><EFBFBD>ֽ<EFBFBD>.
|
||||
////////////////////////////////////////////<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>////////////////////////////////////////////////////
|
||||
#define MAX_FNAME_LEN 30 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<F3B3A4B6>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EEB3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3>ȡ<EFBFBD>
|
||||
#define MAX_PARM 10 //<2F><><EFBFBD><EFBFBD>Ϊ10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,<2C>Ĵ˲<C4B4><CBB2><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>usmart_exe<78><65>֮<EFBFBD><D6AE>Ӧ.
|
||||
#define PARM_LEN 200 //<2F><><EFBFBD>в<EFBFBD><D0B2><EFBFBD>֮<EFBFBD>͵ij<CDB5><C4B3>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD><EFBFBD>PARM_LEN<45><4E><EFBFBD>ֽ<EFBFBD>,ע<><EFBFBD>ڽ<EFBFBD><DABD>ղ<EFBFBD><D5B2><EFBFBD>Ҫ<EFBFBD><D2AA>֮<EFBFBD><D6AE>Ӧ(<28><>С<EFBFBD><D0A1>PARM_LEN)
|
||||
|
||||
|
||||
#define USMART_ENTIMX_SCAN 1 //ʹ<><CAB9>TIM<49>Ķ<EFBFBD>ʱ<EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ɨ<EFBFBD><C9A8>SCAN<41><4E><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0,<2C><>Ҫ<EFBFBD>Լ<EFBFBD>ʵ<EFBFBD>ָ<EFBFBD>һ<EFBFBD><D2BB>ʱ<EFBFBD><CAB1>ɨ<EFBFBD><C9A8>һ<EFBFBD><D2BB>scan<61><6E><EFBFBD><EFBFBD>.
|
||||
//ע<><D7A2>:<3A><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>runtimeͳ<65>ƹ<EFBFBD><C6B9><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USMART_ENTIMX_SCANΪ1!!!!
|
||||
|
||||
#define USMART_USE_HELP 1 //ʹ<>ð<EFBFBD><C3B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>Ϊ0<CEAA><30><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD>ʡ<EFBFBD><CAA1>700<30><30><EFBFBD>ֽڣ<D6BD><DAA3><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB7><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
|
||||
#define USMART_USE_WRFUNS 1 //ʹ<>ö<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>,ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>Զ<EFBFBD>ȡ<EFBFBD>κε<CEBA>ַ<EFBFBD><D6B7>ֵ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ֵ.
|
||||
///////////////////////////////////////////////END///////////////////////////////////////////////////////////
|
||||
|
||||
#define USMART_OK 0 //<2F><EFBFBD><DEB4><EFBFBD>
|
||||
#define USMART_FUNCERR 1 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define USMART_PARMERR 2 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define USMART_PARMOVER 3 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define USMART_NOFUNCFIND 4 //δ<>ҵ<EFBFBD>ƥ<EFBFBD>亯<EFBFBD><E4BAAF>
|
||||
|
||||
#define SP_TYPE_DEC 0 //10<31><30><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD>ʾ
|
||||
#define SP_TYPE_HEX 1 //16<31><36><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD>ʾ
|
||||
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||||
struct _m_usmart_nametab
|
||||
{
|
||||
void* func; //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
const u8* name; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD>Ҵ<EFBFBD>)
|
||||
};
|
||||
//usmart<72><74><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD><EFBFBD><EFBFBD>
|
||||
struct _m_usmart_dev
|
||||
{
|
||||
struct _m_usmart_nametab *funs; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
|
||||
void (*init)(u8); //<2F><>ʼ<EFBFBD><CABC>
|
||||
u8 (*cmd_rec)(u8*str); //ʶ<><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
void (*exe)(void); //ִ<><D6B4>
|
||||
void (*scan)(void); //ɨ<><C9A8>
|
||||
u8 fnum; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
u8 pnum; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
u8 id; //<2F><><EFBFBD><EFBFBD>id
|
||||
u8 sptype; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>(<28><><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>):0,10<31><30><EFBFBD><EFBFBD>;1,16<31><36><EFBFBD><EFBFBD>;
|
||||
u16 parmtype; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
u8 plentbl[MAX_PARM]; //ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>
|
||||
u8 parm[PARM_LEN]; //<2F><><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
|
||||
u8 runtimeflag; //0,<2C><>ͳ<EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>;1,ͳ<>ƺ<EFBFBD><C6BA><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>,ע<><D7A2>:<3A>˹<EFBFBD><CBB9>ܱ<EFBFBD><DCB1><EFBFBD><EFBFBD><EFBFBD>USMART_ENTIMX_SCANʹ<4E>ܵ<EFBFBD>ʱ<EFBFBD><CAB1>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
u32 runtime; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><>λ:0.1ms,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<CAB1><CAB1>Ϊ<EFBFBD><CEAA>ʱ<EFBFBD><CAB1>CNTֵ<54><D6B5>2<EFBFBD><32>*0.1ms
|
||||
};
|
||||
extern struct _m_usmart_nametab usmart_nametab[]; //<2F><>usmart_config.c<><63><EFBFBD>涨<EFBFBD><E6B6A8>
|
||||
extern struct _m_usmart_dev usmart_dev; //<2F><>usmart_config.c<><63><EFBFBD>涨<EFBFBD><E6B6A8>
|
||||
|
||||
|
||||
void usmart_init(u8 sysclk);//<2F><>ʼ<EFBFBD><CABC>
|
||||
u8 usmart_cmd_rec(u8*str); //ʶ<><CAB6>
|
||||
void usmart_exe(void); //ִ<><D6B4>
|
||||
void usmart_scan(void); //ɨ<><C9A8>
|
||||
u32 read_addr(u32 addr); //<2F><>ȡָ<C8A1><D6B8><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>ֵ
|
||||
void write_addr(u32 addr,u32 val);//<2F><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ַд<D6B7><D0B4>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ֵ
|
||||
u32 usmart_get_runtime(void); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
void usmart_reset_runtime(void);//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
66
PORTING/USMART/usmart_config.c
Normal file
66
PORTING/USMART/usmart_config.c
Normal file
@@ -0,0 +1,66 @@
|
||||
#include "usmart.h"
|
||||
#include "usmart_str.h"
|
||||
////////////////////////////<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>///////////////////////////////////////////////
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>(<28>û<EFBFBD><C3BB>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>)
|
||||
#include "delay.h"
|
||||
#include "debug.h"
|
||||
#include "cnn_model.h"
|
||||
#include "cnn.h"
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ʼ<EFBFBD><CABC>(<28>û<EFBFBD><C3BB>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>)
|
||||
//<2F>û<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫִ<D2AA>еĺ<D0B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҵ<EFBFBD>
|
||||
struct _m_usmart_nametab usmart_nametab[]=
|
||||
{
|
||||
(void*)DEBUG,"void DEBUG(void)",
|
||||
(void*)SDRAM_USED,"void SDRAM_USED(void)",
|
||||
|
||||
(void*)modelmym_init,"float* modelmym_init(char* model_name)",
|
||||
(void*)modelmym_free,"u8 modelmym_free(char* model_name)",
|
||||
(void*)model_write,"u8 model_write(char* model_name)",
|
||||
(void*)model_read,"u8 model_read(char* model_name, u32 start, u32 end, u32 gap)",
|
||||
(void*)model_switchdata,"u8 model_switchdata(char* model_name)",
|
||||
(void*)model_info,"u8 model_info(char* model_name)",
|
||||
(void*)model_dataset,"void model_dataset(void)",
|
||||
(void*)model_init,"void model_init(void)",
|
||||
|
||||
(void*)_cnn_run,"void _cnn_run(void)",
|
||||
};
|
||||
///////////////////////////////////END///////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
||||
//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܿغ<DCBF><D8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
struct _m_usmart_dev usmart_dev=
|
||||
{
|
||||
usmart_nametab,
|
||||
usmart_init,
|
||||
usmart_cmd_rec,
|
||||
usmart_exe,
|
||||
usmart_scan,
|
||||
sizeof(usmart_nametab)/sizeof(struct _m_usmart_nametab),//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
0, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
0, //<2F><><EFBFBD><EFBFBD>ID
|
||||
1, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>,0,10<31><30><EFBFBD><EFBFBD>;1,16<31><36><EFBFBD><EFBFBD>
|
||||
0, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.bitx:,0,<2C><><EFBFBD><EFBFBD>;1,<2C>ַ<EFBFBD><D6B7><EFBFBD>
|
||||
0, //ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>,<2C><>ҪMAX_PARM<52><4D>0<EFBFBD><30>ʼ<EFBFBD><CABC>
|
||||
0, //<2F><><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>,<2C><>ҪPARM_LEN<45><4E>0<EFBFBD><30>ʼ<EFBFBD><CABC>
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
426
PORTING/USMART/usmart_str.c
Normal file
426
PORTING/USMART/usmart_str.c
Normal file
@@ -0,0 +1,426 @@
|
||||
#include "usmart_str.h"
|
||||
#include "usmart.h"
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>;
|
||||
//ALIENTEK STM32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>@ALIENTEK
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
|
||||
//<2F>汾<EFBFBD><E6B1BE>V3.1
|
||||
//<2F><>Ȩ<EFBFBD><C8A8><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
|
||||
//Copyright(C) <20><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD> 2011-2021
|
||||
//All rights reserved
|
||||
//********************************************************************************
|
||||
//<2F><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
//V1.4
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>˶Բ<CBB6><D4B2><EFBFBD>Ϊstring<6E><67><EFBFBD>͵ĺ<CDB5><C4BA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>.<2E><><EFBFBD>÷<EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//<2F>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD>ڴ<EFBFBD>ռ<EFBFBD><D5BC>,<2C><>̬<EFBFBD>ڴ<EFBFBD>ռ<EFBFBD><D5BC>Ϊ79<37><39><EFBFBD>ֽ<EFBFBD>@10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><>̬<EFBFBD><CCAC>Ӧ<EFBFBD><D3A6><EFBFBD>ּ<EFBFBD><D6BC>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//V2.0
|
||||
//1,<2C><EFBFBD><DEB8><EFBFBD>listָ<74><D6B8>,<2C><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ.
|
||||
//2,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>idָ<64><D6B8>,<2C><>ӡÿ<D3A1><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ַ.
|
||||
//3,<2C><EFBFBD><DEB8>˲<EFBFBD><CBB2><EFBFBD>ƥ<EFBFBD><C6A5>,֧<>ֺ<EFBFBD><D6BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ַ).
|
||||
//4,<2C><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱥ궨<C8BA><EAB6A8>.
|
||||
//V2.1 20110707
|
||||
//1,<2C><><EFBFBD><EFBFBD>dec,hex<65><78><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>,<2C><>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>ת<EFBFBD><D7AA>.
|
||||
//ע:<3A><>dec,hex<65><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><><EFBFBD>趨<EFBFBD><E8B6A8>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>ת<EFBFBD><D7AA>.
|
||||
//<2F><>:"dec 0XFF" <20><><EFBFBD>Ὣ0XFFתΪ255,<2C>ɴ<EFBFBD><C9B4>ڷ<EFBFBD><DAB7><EFBFBD>.
|
||||
//<2F><>:"hex 100" <09><><EFBFBD>Ὣ100תΪ0X64,<2C>ɴ<EFBFBD><C9B4>ڷ<EFBFBD><DAB7><EFBFBD>
|
||||
//2,<2C><><EFBFBD><EFBFBD>usmart_get_cmdname<6D><65><EFBFBD><EFBFBD>,<2C><><EFBFBD>ڻ<EFBFBD>ȡָ<C8A1><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//V2.2 20110726
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void<69><64><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>ͳ<EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD>.
|
||||
//2,<2C><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ʽĬ<CABD><C4AC>Ϊ16<31><36><EFBFBD><EFBFBD>.
|
||||
//V2.3 20110815
|
||||
//1,ȥ<><C8A5><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//2,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD>"("<22><>bug.
|
||||
//3,<2C><EFBFBD><DEB8>˺<EFBFBD><CBBA><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ķ<DEB8>ʽ.
|
||||
//V2.4 20110905
|
||||
//1,<2C><EFBFBD><DEB8><EFBFBD>usmart_get_cmdname<6D><65><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//2,<2C><><EFBFBD><EFBFBD>USMART_ENTIM2_SCAN<41>궨<EFBFBD><EAB6A8>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ʹ<EFBFBD><CAB9>TIM2<4D><32>ʱִ<CAB1><D6B4>scan<61><6E><EFBFBD><EFBFBD>.
|
||||
//V2.5 20110930
|
||||
//1,<2C><EFBFBD>usmart_init<69><74><EFBFBD><EFBFBD>Ϊvoid usmart_init(u8 sysclk),<2C><><EFBFBD>Ը<EFBFBD><D4B8><EFBFBD>ϵͳƵ<CDB3><C6B5><EFBFBD>Զ<EFBFBD><D4B6>趨ɨ<E8B6A8><C9A8>ʱ<EFBFBD><CAB1>.(<28>̶<EFBFBD>100ms)
|
||||
//2,ȥ<><C8A5><EFBFBD><EFBFBD>usmart_init<69><74><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>uart_init<69><74><EFBFBD><EFBFBD>,<2C><><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF>ʼ<EFBFBD><CABC>,<2C><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD>.
|
||||
//V2.6 20111009
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>read_addr<64><72>write_addr<64><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>ַ).<2E><><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//2,read_addr<64><72>write_addr<64><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USMART_USE_WRFUNSΪ<53><CEAA>ʹ<EFBFBD>ܺر<CDB9>.
|
||||
//3,<2C><EFBFBD><DEB8><EFBFBD>usmart_strcmp,ʹ<><CAB9><EFBFBD>淶<EFBFBD><E6B7B6>.
|
||||
//V2.7 20111024
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD>ֵ16<31><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾʱ<CABE><CAB1><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>bug.
|
||||
//2,<2C><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>з<EFBFBD><D0B7><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ж<EFBFBD>,<2C><><EFBFBD><EFBFBD>û<EFBFBD>з<EFBFBD><D0B7><EFBFBD>ֵ,<2C><EFBFBD><F2B2BBBB><EFBFBD>ʾ.<2E>з<EFBFBD><D0B7><EFBFBD>ֵʱ<D6B5><CAB1><EFBFBD><EFBFBD>ʾ<EFBFBD>䷵<EFBFBD><E4B7B5>ֵ.
|
||||
//V2.8 20111116
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>list<73>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bug.
|
||||
//V2.9 20120917
|
||||
//1,<2C><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>磺void*xxx(void)<29><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>bug<75><67>
|
||||
//V3.0 20130425
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>֡<EFBFBD>
|
||||
//V3.1 20131120
|
||||
//1,<2C><><EFBFBD><EFBFBD>runtimeϵͳָ<CDB3><D6B8>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>.
|
||||
//<2F>÷<EFBFBD>:
|
||||
//<2F><><EFBFBD><EFBFBD>:runtime 1 ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>ͳ<EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD>:runtime 0 ,<2C><><EFBFBD>رպ<D8B1><D5BA><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>ͳ<EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>
|
||||
///runtimeͳ<65>ƹ<EFBFBD><C6B9><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:USMART_ENTIMX_SCAN Ϊ1,<2C>ſ<EFBFBD><C5BF><EFBFBD>ʹ<EFBFBD><CAB9>!!
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//<2F>Ա<EFBFBD><D4B1>ַ<EFBFBD><D6B7><EFBFBD>str1<72><31>str2
|
||||
//*str1:<3A>ַ<EFBFBD><D6B7><EFBFBD>1ָ<31><D6B8>
|
||||
//*str2:<3A>ַ<EFBFBD><D6B7><EFBFBD>2ָ<32><D6B8>
|
||||
//<2F><><EFBFBD><EFBFBD>ֵ:0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
||||
u8 usmart_strcmp(u8 *str1,u8 *str2)
|
||||
{
|
||||
while(1)
|
||||
{
|
||||
if(*str1!=*str2)return 1;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(*str1=='\0')break;//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
str1++;
|
||||
str2++;
|
||||
}
|
||||
return 0;//<2F><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
//<2F><>str1<72><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>copy<70><79>str2
|
||||
//*str1:<3A>ַ<EFBFBD><D6B7><EFBFBD>1ָ<31><D6B8>
|
||||
//*str2:<3A>ַ<EFBFBD><D6B7><EFBFBD>2ָ<32><D6B8>
|
||||
void usmart_strcopy(u8*str1,u8 *str2)
|
||||
{
|
||||
while(1)
|
||||
{
|
||||
*str2=*str1; //<2F><><EFBFBD><EFBFBD>
|
||||
if(*str1=='\0')break;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
str1++;
|
||||
str2++;
|
||||
}
|
||||
}
|
||||
//<2F>õ<EFBFBD><C3B5>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>(<28>ֽ<EFBFBD>)
|
||||
//*str:<3A>ַ<EFBFBD><D6B7><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
//<2F><><EFBFBD><EFBFBD>ֵ:<3A>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>
|
||||
u8 usmart_strlen(u8*str)
|
||||
{
|
||||
u8 len=0;
|
||||
while(1)
|
||||
{
|
||||
if(*str=='\0')break;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
len++;
|
||||
str++;
|
||||
}
|
||||
return len;
|
||||
}
|
||||
//m^n<><6E><EFBFBD><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD>ֵ:m^n<>η<EFBFBD>
|
||||
u32 usmart_pow(u8 m,u8 n)
|
||||
{
|
||||
u32 result=1;
|
||||
while(n--)result*=m;
|
||||
return result;
|
||||
}
|
||||
//<2F><><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>תΪ<D7AA><CEAA><EFBFBD><EFBFBD>
|
||||
//֧<><D6A7>16<31><36><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>,<2C><><EFBFBD><EFBFBD>16<31><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD>д<EFBFBD><D0B4>,<2C>Ҹ<EFBFBD>ʽΪ<CABD><CEAA>0X<30><58>ͷ<EFBFBD><CDB7>.
|
||||
//<2F><>֧<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>
|
||||
//*str:<3A><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
//*res:ת<><D7AA><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>ַ.
|
||||
//<2F><><EFBFBD><EFBFBD>ֵ:0<><30><EFBFBD>ɹ<EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//1,<2C><><EFBFBD>ݸ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>.2,16<31><36><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>Ϊ0.3,<2C><>ʼ<EFBFBD><CABC>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>.4,ʮ<><CAAE><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>Ϊ0.
|
||||
u8 usmart_str2num(u8*str,u32 *res)
|
||||
{
|
||||
u32 t;
|
||||
u8 bnum=0; //<2F><><EFBFBD>ֵ<EFBFBD>λ<EFBFBD><CEBB>
|
||||
u8 *p;
|
||||
u8 hexdec=10;//Ĭ<><C4AC>Ϊʮ<CEAA><CAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
p=str;
|
||||
*res=0;//<2F><><EFBFBD><EFBFBD>.
|
||||
while(1)
|
||||
{
|
||||
if((*p<='9'&&*p>='0')||(*p<='F'&&*p>='A')||(*p=='X'&&bnum==1))//<2F><><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD>
|
||||
{
|
||||
if(*p>='A')hexdec=16; //<2F>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>ĸ,Ϊ16<31><36><EFBFBD>Ƹ<EFBFBD>ʽ.
|
||||
bnum++; //λ<><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
}else if(*p=='\0')break; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>˳<EFBFBD>.
|
||||
else return 1; //<2F><>ȫ<EFBFBD><C8AB>ʮ<EFBFBD><CAAE><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>16<31><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
p++;
|
||||
}
|
||||
p=str; //<2F><><EFBFBD>¶<EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD>ĵ<EFBFBD>ַ.
|
||||
if(hexdec==16) //16<31><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
if(bnum<3)return 2; //λ<><CEBB>С<EFBFBD><D0A1>3<EFBFBD><33>ֱ<EFBFBD><D6B1><EFBFBD>˳<EFBFBD>.<2E><>Ϊ0X<30><58>ռ<EFBFBD><D5BC>2<EFBFBD><32>,<2C><><EFBFBD><EFBFBD>0X<30><58><EFBFBD>治<EFBFBD><E6B2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷǷ<DDB7>.
|
||||
if(*p=='0' && (*(p+1)=='X'))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'0X'<27><>ͷ.
|
||||
{
|
||||
p+=2; //ƫ<>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ.
|
||||
bnum-=2;//<2F><>ȥƫ<C8A5><C6AB><EFBFBD><EFBFBD>
|
||||
}else return 3;//<2F><>ʼͷ<CABC>ĸ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
|
||||
}else if(bnum==0)return 4;//λ<><CEBB>Ϊ0<CEAA><30>ֱ<EFBFBD><D6B1><EFBFBD>˳<EFBFBD>.
|
||||
while(1)
|
||||
{
|
||||
if(bnum)bnum--;
|
||||
if(*p<='9'&&*p>='0')t=*p-'0'; //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ֵ<EFBFBD>ֵ
|
||||
else t=*p-'A'+10; //<2F>õ<EFBFBD>A~F<><46>Ӧ<EFBFBD><D3A6>ֵ
|
||||
*res+=t*usmart_pow(hexdec,bnum);
|
||||
p++;
|
||||
if(*p=='\0')break;//<2F><><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
}
|
||||
return 0;//<2F>ɹ<EFBFBD>ת<EFBFBD><D7AA>
|
||||
}
|
||||
//<2F>õ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>
|
||||
//*str:Դ<>ַ<EFBFBD><D6B7><EFBFBD>
|
||||
//*cmdname:ָ<><D6B8><EFBFBD><EFBFBD>
|
||||
//*nlen:ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//maxlen:<3A><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ָ<><EFBFBD><EEB2BB><EFBFBD><EFBFBD>̫<EFBFBD><CCAB><EFBFBD><EFBFBD>)
|
||||
//<2F><><EFBFBD><EFBFBD>ֵ:0,<2C>ɹ<EFBFBD>;<3B><><EFBFBD><EFBFBD>,ʧ<><CAA7>.
|
||||
u8 usmart_get_cmdname(u8*str,u8*cmdname,u8 *nlen,u8 maxlen)
|
||||
{
|
||||
*nlen=0;
|
||||
while(*str!=' '&&*str!='\0') //<2F>ҵ<EFBFBD><D2B5>ո<EFBFBD><D5B8><EFBFBD><EFBFBD>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
*cmdname=*str;
|
||||
str++;
|
||||
cmdname++;
|
||||
(*nlen)++;//ͳ<><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB3A4>
|
||||
if(*nlen>=maxlen)return 1;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
}
|
||||
*cmdname='\0';//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
return 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
//<2F><>ȡ<EFBFBD><C8A1>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC>кܶ<D0BA><DCB6>ո<EFBFBD><D5B8><EFBFBD>ʱ<EFBFBD>˺<F2A3ACB4><CBBA><EFBFBD>ֱ<EFBFBD>Ӻ<EFBFBD><D3BA>Կո<D4BF><D5B8><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>ո<EFBFBD>֮<EFBFBD><D6AE><EFBFBD>ĵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||
//str:<3A>ַ<EFBFBD><D6B7><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
//<2F><><EFBFBD><EFBFBD>ֵ:<3A><>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD>
|
||||
u8 usmart_search_nextc(u8* str)
|
||||
{
|
||||
str++;
|
||||
while(*str==' '&&str!='\0')str++;
|
||||
return *str;
|
||||
}
|
||||
//<2F><>str<74>еõ<D0B5><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//*str:Դ<>ַ<EFBFBD><D6B7><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
//*fname:<3A><>ȡ<EFBFBD><C8A1><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
//*pnum:<3A><><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//*rval:<3A>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ֵ(0,<2C><><EFBFBD><EFBFBD>Ҫ;1,<2C><>Ҫ)
|
||||
//<2F><><EFBFBD><EFBFBD>ֵ:0,<2C>ɹ<EFBFBD>;<3B><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
u8 usmart_get_fname(u8*str,u8*fname,u8 *pnum,u8 *rval)
|
||||
{
|
||||
u8 res;
|
||||
u8 fover=0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
u8 *strtemp;
|
||||
u8 offset=0;
|
||||
u8 parmnum=0;
|
||||
u8 temp=1;
|
||||
u8 fpname[6];//void+X+'/0'
|
||||
u8 fplcnt=0; //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>
|
||||
u8 pcnt=0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
u8 nchar;
|
||||
//<2F>жϺ<D0B6><CFBA><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>з<EFBFBD><D0B7><EFBFBD>ֵ
|
||||
strtemp=str;
|
||||
while(*strtemp!='\0')//û<>н<EFBFBD><D0BD><EFBFBD>
|
||||
{
|
||||
if(*strtemp!=' '&&(pcnt&0X7F)<5)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼5<C2BC><35><EFBFBD>ַ<EFBFBD>
|
||||
{
|
||||
if(pcnt==0)pcnt|=0X80;//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>λ,<2C><><EFBFBD>ǿ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>շ<EFBFBD><D5B7><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
||||
if(((pcnt&0x7f)==4)&&(*strtemp!='*'))break;//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*
|
||||
fpname[pcnt&0x7f]=*strtemp;//<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
||||
pcnt++;
|
||||
}else if(pcnt==0X85)break;
|
||||
strtemp++;
|
||||
}
|
||||
if(pcnt)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
fpname[pcnt&0x7f]='\0';//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(usmart_strcmp(fpname,"void")==0)*rval=0;//<2F><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ֵ
|
||||
else *rval=1; //<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ֵ
|
||||
pcnt=0;
|
||||
}
|
||||
res=0;
|
||||
strtemp=str;
|
||||
while(*strtemp!='('&&*strtemp!='\0') //<2F>˴<EFBFBD><CBB4><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼλ<CABC><CEBB>
|
||||
{
|
||||
strtemp++;
|
||||
res++;
|
||||
if(*strtemp==' '||*strtemp=='*')
|
||||
{
|
||||
nchar=usmart_search_nextc(strtemp); //<2F><>ȡ<EFBFBD><C8A1>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD>
|
||||
if(nchar!='('&&nchar!='*')offset=res; //<2F><><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><D5B8><EFBFBD>*<2A><>
|
||||
}
|
||||
}
|
||||
strtemp=str;
|
||||
if(offset)strtemp+=offset+1;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD>ĵط<C4B5>
|
||||
res=0;
|
||||
nchar=0;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>־,0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>;1<><31><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>;
|
||||
while(1)
|
||||
{
|
||||
if(*strtemp==0)
|
||||
{
|
||||
res=USMART_FUNCERR;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
break;
|
||||
}else if(*strtemp=='('&&nchar==0)fover++;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
||||
else if(*strtemp==')'&&nchar==0)
|
||||
{
|
||||
if(fover)fover--;
|
||||
else res=USMART_FUNCERR;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,û<>յ<EFBFBD>'('
|
||||
if(fover==0)break;//<2F><>ĩβ<C4A9><CEB2>,<2C>˳<EFBFBD>
|
||||
}else if(*strtemp=='"')nchar=!nchar;
|
||||
|
||||
if(fover==0)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
if(*strtemp!=' ')//<2F>ո<EFBFBD><D5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
*fname=*strtemp;//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
fname++;
|
||||
}
|
||||
}else //<2F>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
{
|
||||
if(*strtemp==',')
|
||||
{
|
||||
temp=1; //ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
pcnt++;
|
||||
}else if(*strtemp!=' '&&*strtemp!='(')
|
||||
{
|
||||
if(pcnt==0&&fplcnt<5) //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ,Ϊ<>˱<EFBFBD><CBB1><EFBFBD>ͳ<EFBFBD><CDB3>void<69><64><EFBFBD>͵IJ<CDB5><C4B2><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>.
|
||||
{
|
||||
fpname[fplcnt]=*strtemp;//<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
fplcnt++;
|
||||
}
|
||||
temp++; //<2F>õ<EFBFBD><C3B5><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>(<28>ǿո<C7BF>)
|
||||
}
|
||||
if(fover==1&&temp==2)
|
||||
{
|
||||
temp++; //<2F><>ֹ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>
|
||||
parmnum++; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
||||
}
|
||||
}
|
||||
strtemp++;
|
||||
}
|
||||
if(parmnum==1)//ֻ<><D6BB>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
{
|
||||
fpname[fplcnt]='\0';//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(usmart_strcmp(fpname,"void")==0)parmnum=0;//<2F><><EFBFBD><EFBFBD>Ϊvoid,<2C><>ʾû<CABE>в<EFBFBD><D0B2><EFBFBD>.
|
||||
}
|
||||
*pnum=parmnum; //<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*fname='\0'; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
return res; //<2F><><EFBFBD><EFBFBD>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>
|
||||
}
|
||||
|
||||
|
||||
//<2F><>str<74>еõ<D0B5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
|
||||
//*str:Դ<>ַ<EFBFBD><D6B7><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
//*fparm:<3A><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
//*ptype:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;1<><31><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>;0XFF<46><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD>ֵ:0,<2C>Ѿ<EFBFBD><D1BE><EFBFBD><DEB2><EFBFBD><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD>,<2C><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>.
|
||||
u8 usmart_get_aparm(u8 *str,u8 *fparm,u8 *ptype)
|
||||
{
|
||||
u8 i=0;
|
||||
u8 enout=0;
|
||||
u8 type=0;//Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
u8 string=0; //<2F><><EFBFBD><EFBFBD>str<74>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڶ<EFBFBD>
|
||||
while(1)
|
||||
{
|
||||
if(*str==','&& string==0)enout=1; //<2F>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>,Ŀ<><C4BF><EFBFBD><EFBFBD>Ѱ<EFBFBD><D1B0><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
||||
if((*str==')'||*str=='\0')&&string==0)break;//<2F><><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>ʶ<EFBFBD><CAB6>
|
||||
if(type==0)//Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>
|
||||
{
|
||||
if((*str>='0' && *str<='9')||(*str>='a' && *str<='f')||(*str>='A' && *str<='F')||*str=='X'||*str=='x')//<2F><><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
if(enout)break; //<2F>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ֱ<><D6B1><EFBFBD>˳<EFBFBD>.
|
||||
if(*str>='a')*fparm=*str-0X20; //Сдת<D0B4><D7AA>Ϊ<EFBFBD><CEAA>д
|
||||
else *fparm=*str; //Сд<D0A1><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>ֲ<EFBFBD><D6B2><EFBFBD>
|
||||
fparm++;
|
||||
}else if(*str=='"')//<2F>ҵ<EFBFBD><D2B5>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ŀ<EFBFBD>ʼ<EFBFBD><CABC>־
|
||||
{
|
||||
if(enout)break;//<2F>ҵ<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>",<2C><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
type=1;
|
||||
string=1;//<2F>Ǽ<EFBFBD>STRING <20><><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD>
|
||||
}else if(*str!=' '&&*str!=',')//<2F><><EFBFBD>ַǷ<D6B7><C7B7>ַ<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
type=0XFF;
|
||||
break;
|
||||
}
|
||||
}else//string<6E><67>
|
||||
{
|
||||
if(*str=='"')string=0;
|
||||
if(enout)break; //<2F>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ֱ<><D6B1><EFBFBD>˳<EFBFBD>.
|
||||
if(string) //<2F>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD>
|
||||
{
|
||||
if(*str=='\\') //<2F><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>)
|
||||
{
|
||||
str++; //ƫ<>Ƶ<EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>,<2C><><EFBFBD><EFBFBD>ʲô<CAB2>ַ<EFBFBD>,ֱ<><D6B1>COPY
|
||||
i++;
|
||||
}
|
||||
*fparm=*str; //Сд<D0A1><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>ֲ<EFBFBD><D6B2><EFBFBD>
|
||||
fparm++;
|
||||
}
|
||||
}
|
||||
i++;//ƫ<><C6AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
str++;
|
||||
}
|
||||
*fparm='\0'; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*ptype=type; //<2F><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
return i; //<2F><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
//<2F>õ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
||||
//num:<3A><>num<75><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>Χ0~9.
|
||||
//<2F><><EFBFBD><EFBFBD>ֵ:<3A>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
||||
u8 usmart_get_parmpos(u8 num)
|
||||
{
|
||||
u8 temp=0;
|
||||
u8 i;
|
||||
for(i=0;i<num;i++)temp+=usmart_dev.plentbl[i];
|
||||
return temp;
|
||||
}
|
||||
//<2F><>str<74>еõ<D0B5><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//str:Դ<>ַ<EFBFBD><D6B7><EFBFBD>;
|
||||
//parn:<3A><><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>.0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> void<69><64><EFBFBD><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD>ֵ:0,<2C>ɹ<EFBFBD>;<3B><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
u8 usmart_get_fparam(u8*str,u8 *parn)
|
||||
{
|
||||
u8 i,type;
|
||||
u32 res;
|
||||
u8 n=0;
|
||||
u8 len;
|
||||
u8 tstr[PARM_LEN+1];//<2F>ֽڳ<D6BD><DAB3>ȵĻ<C8B5><C4BB><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>PARM_LEN<45><4E><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||
for(i=0;i<MAX_PARM;i++)usmart_dev.plentbl[i]=0;//<2F><><EFBFBD>ղ<EFBFBD><D5B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȱ<EFBFBD>
|
||||
while(*str!='(')//ƫ<>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD>ĵط<C4B5>
|
||||
{
|
||||
str++;
|
||||
if(*str=='\0')return USMART_FUNCERR;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
str++;//ƫ<>Ƶ<EFBFBD>"("֮<><D6AE><EFBFBD>ĵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ֽ<EFBFBD>
|
||||
while(1)
|
||||
{
|
||||
i=usmart_get_aparm(str,tstr,&type); //<2F>õ<EFBFBD><C3B5><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
str+=i; //ƫ<><C6AB>
|
||||
switch(type)
|
||||
{
|
||||
case 0: //<2F><><EFBFBD><EFBFBD>
|
||||
if(tstr[0]!='\0') //<2F><><EFBFBD>յ<EFBFBD><D5B5>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>Ч
|
||||
{
|
||||
i=usmart_str2num(tstr,&res); //<2F><>¼<EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
||||
if(i)return USMART_PARMERR; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
*(u32*)(usmart_dev.parm+usmart_get_parmpos(n))=res;//<2F><>¼ת<C2BC><D7AA><EFBFBD>ɹ<EFBFBD><C9B9>Ľ<EFBFBD><C4BD><EFBFBD>.
|
||||
usmart_dev.parmtype&=~(1<<n); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
usmart_dev.plentbl[n]=4; //<2F>ò<EFBFBD><C3B2><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>Ϊ4
|
||||
n++; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(n>MAX_PARM)return USMART_PARMOVER;//<2F><><EFBFBD><EFBFBD>̫<EFBFBD><CCAB>
|
||||
}
|
||||
break;
|
||||
case 1://<2F>ַ<EFBFBD><D6B7><EFBFBD>
|
||||
len=usmart_strlen(tstr)+1; //<2F><><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD>'\0'
|
||||
usmart_strcopy(tstr,&usmart_dev.parm[usmart_get_parmpos(n)]);//<2F><><EFBFBD><EFBFBD>tstr<74><72><EFBFBD>ݵ<EFBFBD>usmart_dev.parm[n]
|
||||
usmart_dev.parmtype|=1<<n; //<2F><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||
usmart_dev.plentbl[n]=len; //<2F>ò<EFBFBD><C3B2><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>Ϊlen
|
||||
n++;
|
||||
if(n>MAX_PARM)return USMART_PARMOVER;//<2F><><EFBFBD><EFBFBD>̫<EFBFBD><CCAB>
|
||||
break;
|
||||
case 0XFF://<2F><><EFBFBD><EFBFBD>
|
||||
return USMART_PARMERR;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
if(*str==')'||*str=='\0')break;//<2F>鵽<EFBFBD><E9B5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE>.
|
||||
}
|
||||
*parn=n; //<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>
|
||||
return USMART_OK;//<2F><>ȷ<EFBFBD>õ<EFBFBD><C3B5>˲<EFBFBD><CBB2><EFBFBD>
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
83
PORTING/USMART/usmart_str.h
Normal file
83
PORTING/USMART/usmart_str.h
Normal file
@@ -0,0 +1,83 @@
|
||||
#ifndef __USMART_STR_H
|
||||
#define __USMART_STR_H
|
||||
#include "sys.h"
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>;
|
||||
//ALIENTEK STM32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>@ALIENTEK
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
|
||||
//<2F>汾<EFBFBD><E6B1BE>V3.1
|
||||
//<2F><>Ȩ<EFBFBD><C8A8><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
|
||||
//Copyright(C) <20><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD> 2011-2021
|
||||
//All rights reserved
|
||||
//********************************************************************************
|
||||
//<2F><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
//V1.4
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>˶Բ<CBB6><D4B2><EFBFBD>Ϊstring<6E><67><EFBFBD>͵ĺ<CDB5><C4BA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>.<2E><><EFBFBD>÷<EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//<2F>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD>ڴ<EFBFBD>ռ<EFBFBD><D5BC>,<2C><>̬<EFBFBD>ڴ<EFBFBD>ռ<EFBFBD><D5BC>Ϊ79<37><39><EFBFBD>ֽ<EFBFBD>@10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><>̬<EFBFBD><CCAC>Ӧ<EFBFBD><D3A6><EFBFBD>ּ<EFBFBD><D6BC>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//V2.0
|
||||
//1,<2C><EFBFBD><DEB8><EFBFBD>listָ<74><D6B8>,<2C><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ.
|
||||
//2,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>idָ<64><D6B8>,<2C><>ӡÿ<D3A1><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ַ.
|
||||
//3,<2C><EFBFBD><DEB8>˲<EFBFBD><CBB2><EFBFBD>ƥ<EFBFBD><C6A5>,֧<>ֺ<EFBFBD><D6BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ַ).
|
||||
//4,<2C><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱥ궨<C8BA><EAB6A8>.
|
||||
//V2.1 20110707
|
||||
//1,<2C><><EFBFBD><EFBFBD>dec,hex<65><78><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>,<2C><>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>ת<EFBFBD><D7AA>.
|
||||
//ע:<3A><>dec,hex<65><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><><EFBFBD>趨<EFBFBD><E8B6A8>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>ת<EFBFBD><D7AA>.
|
||||
//<2F><>:"dec 0XFF" <20><><EFBFBD>Ὣ0XFFתΪ255,<2C>ɴ<EFBFBD><C9B4>ڷ<EFBFBD><DAB7><EFBFBD>.
|
||||
//<2F><>:"hex 100" <09><><EFBFBD>Ὣ100תΪ0X64,<2C>ɴ<EFBFBD><C9B4>ڷ<EFBFBD><DAB7><EFBFBD>
|
||||
//2,<2C><><EFBFBD><EFBFBD>usmart_get_cmdname<6D><65><EFBFBD><EFBFBD>,<2C><><EFBFBD>ڻ<EFBFBD>ȡָ<C8A1><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//V2.2 20110726
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void<69><64><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>ͳ<EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD>.
|
||||
//2,<2C><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ʽĬ<CABD><C4AC>Ϊ16<31><36><EFBFBD><EFBFBD>.
|
||||
//V2.3 20110815
|
||||
//1,ȥ<><C8A5><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//2,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD>"("<22><>bug.
|
||||
//3,<2C><EFBFBD><DEB8>˺<EFBFBD><CBBA><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ķ<DEB8>ʽ.
|
||||
//V2.4 20110905
|
||||
//1,<2C><EFBFBD><DEB8><EFBFBD>usmart_get_cmdname<6D><65><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//2,<2C><><EFBFBD><EFBFBD>USMART_ENTIM2_SCAN<41>궨<EFBFBD><EAB6A8>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ʹ<EFBFBD><CAB9>TIM2<4D><32>ʱִ<CAB1><D6B4>scan<61><6E><EFBFBD><EFBFBD>.
|
||||
//V2.5 20110930
|
||||
//1,<2C><EFBFBD>usmart_init<69><74><EFBFBD><EFBFBD>Ϊvoid usmart_init(u8 sysclk),<2C><><EFBFBD>Ը<EFBFBD><D4B8><EFBFBD>ϵͳƵ<CDB3><C6B5><EFBFBD>Զ<EFBFBD><D4B6>趨ɨ<E8B6A8><C9A8>ʱ<EFBFBD><CAB1>.(<28>̶<EFBFBD>100ms)
|
||||
//2,ȥ<><C8A5><EFBFBD><EFBFBD>usmart_init<69><74><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>uart_init<69><74><EFBFBD><EFBFBD>,<2C><><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF>ʼ<EFBFBD><CABC>,<2C><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD>.
|
||||
//V2.6 20111009
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>read_addr<64><72>write_addr<64><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>ַ).<2E><><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//2,read_addr<64><72>write_addr<64><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USMART_USE_WRFUNSΪ<53><CEAA>ʹ<EFBFBD>ܺر<CDB9>.
|
||||
//3,<2C><EFBFBD><DEB8><EFBFBD>usmart_strcmp,ʹ<><CAB9><EFBFBD>淶<EFBFBD><E6B7B6>.
|
||||
//V2.7 20111024
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD>ֵ16<31><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾʱ<CABE><CAB1><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>bug.
|
||||
//2,<2C><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>з<EFBFBD><D0B7><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ж<EFBFBD>,<2C><><EFBFBD><EFBFBD>û<EFBFBD>з<EFBFBD><D0B7><EFBFBD>ֵ,<2C><EFBFBD><F2B2BBBB><EFBFBD>ʾ.<2E>з<EFBFBD><D0B7><EFBFBD>ֵʱ<D6B5><CAB1><EFBFBD><EFBFBD>ʾ<EFBFBD>䷵<EFBFBD><E4B7B5>ֵ.
|
||||
//V2.8 20111116
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>list<73>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bug.
|
||||
//V2.9 20120917
|
||||
//1,<2C><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>磺void*xxx(void)<29><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>bug<75><67>
|
||||
//V3.0 20130425
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>֡<EFBFBD>
|
||||
//V3.1 20131120
|
||||
//1,<2C><><EFBFBD><EFBFBD>runtimeϵͳָ<CDB3><D6B8>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>.
|
||||
//<2F>÷<EFBFBD>:
|
||||
//<2F><><EFBFBD><EFBFBD>:runtime 1 ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>ͳ<EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD>:runtime 0 ,<2C><><EFBFBD>رպ<D8B1><D5BA><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>ͳ<EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>
|
||||
///runtimeͳ<65>ƹ<EFBFBD><C6B9><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:USMART_ENTIMX_SCAN Ϊ1,<2C>ſ<EFBFBD><C5BF><EFBFBD>ʹ<EFBFBD><CAB9>!!
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
u8 usmart_get_parmpos(u8 num); //<2F>õ<EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼλ<CABC><CEBB>
|
||||
u8 usmart_strcmp(u8*str1,u8 *str2); //<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
||||
u32 usmart_pow(u8 m,u8 n); //M^N<>η<EFBFBD>
|
||||
u8 usmart_str2num(u8*str,u32 *res); //<2F>ַ<EFBFBD><D6B7><EFBFBD>תΪ<D7AA><CEAA><EFBFBD><EFBFBD>
|
||||
u8 usmart_get_cmdname(u8*str,u8*cmdname,u8 *nlen,u8 maxlen);//<2F><>str<74>еõ<D0B5>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EEB3A4>
|
||||
u8 usmart_get_fname(u8*str,u8*fname,u8 *pnum,u8 *rval); //<2F><>str<74>еõ<D0B5><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
u8 usmart_get_aparm(u8 *str,u8 *fparm,u8 *ptype); //<2F><>str<74>еõ<D0B5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
u8 usmart_get_fparam(u8*str,u8 *parn); //<2F>õ<EFBFBD>str<74><72><EFBFBD><EFBFBD><EFBFBD>еĺ<D0B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user