精简项目
删除了不需要的文件,并整理了文件夹
This commit is contained in:
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>
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user