Index: MSR/MSR/prj/MDK/Objects/YC3121_Keil.axf
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: MSR/MSR/prj/MDK/YC3121_Keil.uvoptx
===================================================================
--- /YC3121_demo/ModuleDemo/MSR/MSR/prj/MDK/YC3121_Keil.uvoptx	(revision 570)
+++ /YC3121_demo/ModuleDemo/MSR/MSR/prj/MDK/YC3121_Keil.uvoptx	(working copy)
@@ -113,7 +113,7 @@
         <tDllPa></tDllPa>
         <tDlgDll></tDlgDll>
         <tDlgPa></tDlgPa>
-        <tIfile></tIfile>
+        <tIfile>..\..\..\..\..\ConfigFiles\MDK\flash.ini</tIfile>
         <pMon>Segger\JL2CM3.dll</pMon>
       </DebugOpt>
       <TargetDriverDllRegistry>
@@ -219,18 +219,6 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\..\..\Librarier\core\rom_main.c</PathWithFileName>
-      <FilenameWithoutPath>rom_main.c</FilenameWithoutPath>
-      <RteFlg>0</RteFlg>
-      <bShared>0</bShared>
-    </File>
-    <File>
-      <GroupNumber>1</GroupNumber>
-      <FileNumber>3</FileNumber>
-      <FileType>1</FileType>
-      <tvExp>0</tvExp>
-      <tvExpOptDlg>0</tvExpOptDlg>
-      <bDave2>0</bDave2>
       <PathWithFileName>..\..\..\..\..\Librarier\core\system.c</PathWithFileName>
       <FilenameWithoutPath>system.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
@@ -246,7 +234,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>4</FileNumber>
+      <FileNumber>3</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -258,7 +246,7 @@
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>5</FileNumber>
+      <FileNumber>4</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -278,7 +266,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>6</FileNumber>
+      <FileNumber>5</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -290,7 +278,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>7</FileNumber>
+      <FileNumber>6</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -302,7 +290,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>8</FileNumber>
+      <FileNumber>7</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -314,13 +302,13 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>9</FileNumber>
+      <FileNumber>8</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_msr.c</PathWithFileName>
-      <FilenameWithoutPath>yc_msr.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_timer.c</PathWithFileName>
+      <FilenameWithoutPath>yc_timer.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -334,7 +322,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>10</FileNumber>
+      <FileNumber>9</FileNumber>
       <FileType>2</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -346,7 +334,7 @@
     </File>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>11</FileNumber>
+      <FileNumber>10</FileNumber>
       <FileType>2</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -358,4 +346,24 @@
     </File>
   </Group>
 
+  <Group>
+    <GroupName>MSR</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>11</FileNumber>
+      <FileType>4</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_msr\yc_msr.lib</PathWithFileName>
+      <FilenameWithoutPath>yc_msr.lib</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
 </ProjectOpt>
Index: MSR/MSR/prj/MDK/YC3121_Keil.uvprojx
===================================================================
--- /YC3121_demo/ModuleDemo/MSR/MSR/prj/MDK/YC3121_Keil.uvprojx	(revision 570)
+++ /YC3121_demo/ModuleDemo/MSR/MSR/prj/MDK/YC3121_Keil.uvprojx	(working copy)
@@ -311,7 +311,7 @@
           </ArmAdsMisc>
           <Cads>
             <interw>1</interw>
-            <Optim>1</Optim>
+            <Optim>3</Optim>
             <oTime>0</oTime>
             <SplitLS>0</SplitLS>
             <OneElfS>0</OneElfS>
@@ -320,7 +320,7 @@
             <PlainCh>0</PlainCh>
             <Ropi>0</Ropi>
             <Rwpi>0</Rwpi>
-            <wLevel>1</wLevel>
+            <wLevel>2</wLevel>
             <uThumb>0</uThumb>
             <uSurpInc>0</uSurpInc>
             <uC99>1</uC99>
@@ -337,7 +337,7 @@
               <MiscControls></MiscControls>
               <Define>__USEKEILCOMPILE__</Define>
               <Undefine></Undefine>
-              <IncludePath>..\..\..\..\..\Librarier\core;..\..\..\..\..\Librarier\sdk</IncludePath>
+              <IncludePath>..\..\..\..\..\Librarier\core;..\..\..\..\..\Librarier\sdk;..\..\..\..\..\Librarier\sdk\yc_msr</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -387,11 +387,6 @@
               <FilePath>..\..\..\..\..\Librarier\core\misc.c</FilePath>
             </File>
             <File>
-              <FileName>rom_main.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\..\..\Librarier\core\rom_main.c</FilePath>
-            </File>
-            <File>
               <FileName>system.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\..\..\..\Librarier\core\system.c</FilePath>
@@ -432,9 +427,9 @@
               <FilePath>..\..\..\..\..\Librarier\sdk\yc_sysctrl.c</FilePath>
             </File>
             <File>
-              <FileName>yc_msr.c</FileName>
+              <FileName>yc_timer.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\..\..\Librarier\sdk\yc_msr.c</FilePath>
+              <FilePath>..\..\..\..\..\Librarier\sdk\yc_timer.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -453,6 +448,16 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>MSR</GroupName>
+          <Files>
+            <File>
+              <FileName>yc_msr.lib</FileName>
+              <FileType>4</FileType>
+              <FilePath>..\..\..\..\..\Librarier\sdk\yc_msr\yc_msr.lib</FilePath>
+            </File>
+          </Files>
+        </Group>
       </Groups>
     </Target>
   </Targets>
Index: MSR/MSR/user/main.c
===================================================================
--- /YC3121_demo/ModuleDemo/MSR/MSR/user/main.c	(revision 570)
+++ /YC3121_demo/ModuleDemo/MSR/MSR/user/main.c	(working copy)
@@ -1,10 +1,10 @@
 /**
   ******************************************************************************
-  * @file    ModuleDemo/IIC/prj/MDK/main.c 
+  * @file    3121Demo\ModuleDemo\MSR\MSR\user\main.c
   * @author  Yichip Application Team
   * @version V1.0.0
-  * @date    16-July-2019
-  * @brief   Yc3121 WDT interrupt test program.
+  * @date    10-Feb-2019
+  * @brief   MSR test program.
   ******************************************************************************
   * @attention
   *
@@ -27,9 +27,10 @@
 #include "yc_uart.h"
 #include "misc.h"
 #include "yc_msr.h"
+
 /* Private typedef -----------------------------------------------------------*/
 /* Private define ------------------------------------------------------------*/
-#define uartBaud 115200
+#define uartBaud 921600
 
 /* Private macro -------------------------------------------------------------*/
 /* Private variables ---------------------------------------------------------*/
@@ -41,42 +42,6 @@
   * @param  None
   * @retval None
   */
-
-/**
-  * @brief  Serial port initialization function.
-  * @param  None
-  * @retval None
-  */
-void UART_Configuration(void)
-{
-	UART_InitTypeDef UART_InitStruct;
-
-	/* Configure serial ports RX and TX for IO. */
-	GPIO_Config(GPIOA, GPIO_Pin_1, UART0_TXD);
-	GPIO_Config(GPIOA, GPIO_Pin_0, UART0_RXD);
-
-	/* USARTx configured as follow:
-  - BaudRate = 115200 baud  
-  - Word Length = 8 Bits
-  - Stop Bit = 1 Stop Bit
-  - Parity = No Parity
-  - Hardware flow control disabled (RTS and CTS signals)
-  - Receive and transmit enabled
-  */
-	UART_InitStruct.BaudRate = uartBaud;			//Configure serial port baud rate, the baud rate defaults to 128000.
-	UART_InitStruct.DataBits = Databits_8b;
-	UART_InitStruct.StopBits = StopBits_1;
-	UART_InitStruct.Parity = Parity_None;
-	UART_InitStruct.FlowCtrl = FlowCtrl_None;
-	UART_InitStruct.Mode = Mode_duplex;
-
-	UART_Init(UART0, &UART_InitStruct);
-	UART_ITConfig(UART0, UART_IT_RX, ENABLE);
-}
-
-
-
-
 int main(void)
 {
 	UART_Configuration();
@@ -92,18 +57,24 @@
 	
 	MyPrintf("start MSR test\n");
 	MSR_Init();
-	MyPrintf("please send cmd '1' to continue swiping card\n");
+	MyPrintf("please swiping card\n");
 	while(1)
 	{
+		//uart test
+		if(UART_IsRXFIFONotEmpty(UART0))
+		{
+			Opcode=UART_ReceiveData(UART0);
+			UART_SendData(UART0,Opcode);
+		}
+		
 		nResult=MSR_DetectSwipingCard();
 		if(nResult == DETECT_SWIPING_CARD)
 		{
-			MyPrintf("start SWIPING CARD\n");
 			cfmt = tflag = 0;
 			for(i=0;i<MAX_TRACK_NUM;i++)	tdata[i].len=0;
 				
 			ret = MSR_GetDecodeData(tdata, TRACK_SELECT_1|TRACK_SELECT_2|TRACK_SELECT_3, &cfmt, &tflag);
-			MyPrintf("T1len = %d, T2 len= %d, T3len = %d tflag = %02X\n", (tdata[0].len), (tdata[1].len), (tdata[2].len),tflag);
+			//MyPrintf("T1 len = %d\nT2 len= %d\nT3 len = %d\ntflag = %02X\n", (tdata[0].len), (tdata[1].len), (tdata[2].len),tflag);
 			if (ret == SUCCESS||ret!=SUCCESS)		
 			{
 				for (i = 0; i < MAX_TRACK_NUM; i++)
@@ -112,33 +83,57 @@
 					if ((tdata[i].len)>0)
 					{
 						MyPrintf("track%d  data:\n", i+1,tdata[i].len);
-						Uart_SendBuf(UART0,tdata[i].buf,tdata[i].len);
+						UART_SendBuf(UART0,tdata[i].buf,tdata[i].len);
 						MyPrintf("\n");
 					}
 					MyPrintf("\n");
 				}
 			}
 
-
-			for(i=0;i<MAX_TRACK_NUM;i++)	tdata[i].len=0;
-				MSR_ENABLE(DISABLE);
-				MSR_ENABLE(ENABLE);
-				MSR_ENABLE(DISABLE);
-				MyPrintf("init msr moudle finish,please send cmd '1' to continue swiping card\n");
-		}
-		if(UART_IsRXFIFONotEmpty(UART0))
-		{
-			Opcode=UART_ReceiveData(UART0);
-			if(Opcode == '1')
+			for(i=0;i<MAX_TRACK_NUM;i++)
 			{
-				MyPrintf("please swiping card\n");
-				MSR_ENABLE(ENABLE);
-
+				if(tdata[i].len>0)
+				{
+					MyPrintf("T%d OK",i+1);
+				}
+				tdata[i].len=0;
 			}
+			MSR_ENABLE(DISABLE);
+			MSR_ENABLE(ENABLE);
+			MyPrintf("please swiping card\n");
 		}
 	}
+}
 
+/**
+  * @brief  Serial port initialization function.
+  * @param  None
+  * @retval None
+  */
+void UART_Configuration(void)
+{
+	UART_InitTypeDef UART_InitStruct;
 
+	/* Configure serial ports RX and TX for IO. */
+	GPIO_Config(GPIOA, GPIO_Pin_1, UART0_TXD);
+	GPIO_Config(GPIOA, GPIO_Pin_0, UART0_RXD);
+
+	/* USARTx configured as follow:
+  - BaudRate = 115200 baud  
+  - Word Length = 8 Bits
+  - Stop Bit = 1 Stop Bit
+  - Parity = No Parity
+  - Hardware flow control disabled (RTS and CTS signals)
+  - Receive and transmit enabled
+  */
+	UART_InitStruct.BaudRate = uartBaud;			//Configure serial port baud rate, the baud rate defaults to 128000.
+	UART_InitStruct.DataBits = Databits_8b;
+	UART_InitStruct.StopBits = StopBits_1;
+	UART_InitStruct.Parity = Parity_None;
+	UART_InitStruct.FlowCtrl = FlowCtrl_None;
+	UART_InitStruct.Mode = Mode_duplex;
+
+	UART_Init(UART0, &UART_InitStruct);
 }
 
 /************************ (C) COPYRIGHT Yichip Microelectronics *****END OF FILE****/
