本文來源電子發燒友社區,作者:盧松濤, 帖子地址:https://bbs.elecfans.com/jishu_2249212_1_1.html
新建的項目有很多功能的參考用法demo紅綠藍色LED燈:
///----Chapter 5 GPIO Test Init ---------------------------------------------------------------------------------
GPIO_MODE_Init(GPIOA,PIN8,GPIO_MODE_OUTPUT); //GPIO 模式
GPIO_MODE_Init(GPIOA,PIN10,GPIO_MODE_OUTPUT); //GPIO 模式
GPIO_MODE_Init(GPIOA,PIN12,GPIO_MODE_OUTPUT); //GPIO 模式
demoUART:
///---- Chapter 15 UART Test Init -------------------------------------------------------------------------------
//uint8_t upack1[20] = {0,1,2,3,4,5,6,7,8,9};
//uint8_t upack2[20] = {0,1,2,3,4,5,6,7,8,9};
//uint8_t upack3[20] = {0,1,2,3,4,5,6,7,8,9};
//uint8_t upack4[20] = {10,1,2,3,4,5,6,7,8,9};
//UART_Init_case1(UART2);//非中斷模式
//UART_Init_case1(UART3);//非中斷模式
//UART_Init_case1(UART4);//非中斷模式
UART_Init_IT_case1(UART1);//中斷模式
//UART_Init_IT_case1(UART4);//中斷模式
Interrupt_Enable(UART1_int_ID);//CLIC使能單個中斷
UART1->CTRL |= 0x00000001U;//清除中斷標志位,防止開機先進一次中斷
//Interrupt_Enable(UART4_int_ID);//CLIC使能單個中斷
SYS_Interrupt_Enable();//CLIC開總中斷
//printf("uart init:rn");
串口控制a8
GPIO_Write(GPIOA,PIN8,GPIO_RESET);
10000ms a10
GPIO_Toggle(GPIOA,PIN10); //GPIO 翻轉
復制代碼
com:
Hello CSM32RV20:
mcycle:112549883
read_csr(mcycle):2
CMU->OSC_SR:d2
CMU->OSC_SR:210,OSC 時鐘已穩定,RCOSC 時鐘已穩定,:OSC 在為 MCU 提供時鐘;OSC 在為外設提供時鐘;
請輸入:on 或者off (開燈/關燈)
收到數據:
rt_tick_get:11529
RTC_MTIME->mtime:36899472 RTC_MTIME->mtime0-7B:4a 4c 33 2 0 0 0 0
RTC_MTIME->mtime:0
RTC_MTIMECMP->mtimecmp:36934400
->?RTC_MTIME->mtime:0233b880
RTC_MTIMECMP->mtimecmp0-7B:0 3 34 2 0 0 0 0
val:6700avr:14062513 981.4mV 2108.0mV
time:0 day 0 hour' 0:16
rt_tick_get:21537
RTC_MTIME->mtime:68926545 RTC_MTIME->mtime0-7B:c fd 1c 4 0 0 0 0
RTC_MTIME->mtime:0
RTC_MTIMECMP->mtimecmp:68960000
->?RTC_MTIME->mtime:041c6480
RTC_MTIMECMP->mtimecmp0-7B:0 af 1c 4 0 0 0 0
收到數據:on
燈開了!
rt_tick_get:61655
RTC_MTIME->mtime:197302775 RTC_MTIME->mtime0-7B:c8 dd c2 b 0 0 0 0
RTC_MTIME->mtime:0
RTC_MTIMECMP->mtimecmp:197337600
->?RTC_MTIME->mtime:0bc34780
RTC_MTIMECMP->mtimecmp0-7B:0 92 c3 b 0 0 0 0
time is 63 s
收到數據:off
關燈了!
新建的項目有很多功能的參考用法demo紅綠藍色LED燈:
///----Chapter 5 GPIO Test Init ---------------------------------------------------------------------------------
GPIO_MODE_Init(GPIOA,PIN8,GPIO_MODE_OUTPUT); //GPIO 模式
GPIO_MODE_Init(GPIOA,PIN10,GPIO_MODE_OUTPUT); //GPIO 模式
GPIO_MODE_Init(GPIOA,PIN12,GPIO_MODE_OUTPUT); //GPIO 模式
demoUART:
///---- Chapter 15 UART Test Init -------------------------------------------------------------------------------
//uint8_t upack1[20] = {0,1,2,3,4,5,6,7,8,9};
//uint8_t upack2[20] = {0,1,2,3,4,5,6,7,8,9};
//uint8_t upack3[20] = {0,1,2,3,4,5,6,7,8,9};
//uint8_t upack4[20] = {10,1,2,3,4,5,6,7,8,9};
//UART_Init_case1(UART2);//非中斷模式
//UART_Init_case1(UART3);//非中斷模式
//UART_Init_case1(UART4);//非中斷模式
UART_Init_IT_case1(UART1);//中斷模式
//UART_Init_IT_case1(UART4);//中斷模式
Interrupt_Enable(UART1_int_ID);//CLIC使能單個中斷
UART1->CTRL |= 0x00000001U;//清除中斷標志位,防止開機先進一次中斷
//Interrupt_Enable(UART4_int_ID);//CLIC使能單個中斷
SYS_Interrupt_Enable();//CLIC開總中斷
//printf("uart init:rn");
串口控制a8
GPIO_Write(GPIOA,PIN8,GPIO_RESET);
10000ms a10
GPIO_Toggle(GPIOA,PIN10); //GPIO 翻轉
- #include "headfile.h"
- void mp_receive_data(uint8_t *buf, uint16_t *len)
- {
- uint8_t rxlen = UART1_RX_CNT;
- uint16_t i = 0;
- *len = 0; //默認為0
- Delay32M_ms(10); //等待40ms,連續超過10ms沒有接收到一個數據,則認為接收結束
- if (rxlen == UART1_RX_CNT && rxlen) //接收到了數據,且接收完成了
- {
- for (i = 0; i < rxlen; i++)
- {
- buf[i] = uart_dev.rxbuf[i];
- }
- *len = UART1_RX_CNT; //記錄本次數據長度
- UART1_RX_CNT = 0; //清零
- uart_dev.frameok=1; //標記完成一幀數據接收
- // getData=0;//數據接收完成,標志位清零
- }
- }
- #define Max_Column 128
- uint8_t ReceiveBuff[RECV_LEN];
- int main(void)
- {
- uint16_t rlen=0;
- uart_dev.rxlen=0;
- ///----System Init ---------------------------------------------------------------------------------------------
- CLIC_Init();//系統中斷配置
- System_Clock_Init();//系統時鐘初始化
- ///----Chapter 3 LowPower Test Init ---------------------------------------------------------------------------------
- //低功耗測功耗需要IO不能懸空
- //Delay32M_ms(5000);
- //LowPower_Config_case1();//所有IO設置為輸入,下拉
- //LowPower_Config_case2();//所有IO設置為輸入,上拉
- //使用外部中斷喚醒
- //GPIO_EXIT_Init_case1(GPIOA, PIN2);//檢測高電平
- //Interrupt_Level(EXIT2_int_ID, INT_LEVEL0);//CLIC設置中斷搶占級別
- //Interrupt_Enable(EXIT2_int_ID);//CLIC使能EXIT中斷
- //SYS_Interrupt_Enable();//CLIC開總中斷
- //配置不同低功耗模式
- //System_Halt();//待機模式 halt1
- //System_Sleep();//睡眠模式 halt2
- //System_Powerdown();//掉電模式 powerdown1
- //System_DeepPwd();//掉電模式 powerdown2
- ///----Chapter 5 GPIO Test Init ---------------------------------------------------------------------------------
- GPIO_MODE_Init(GPIOA,PIN8,GPIO_MODE_OUTPUT); //GPIO 模式
- GPIO_MODE_Init(GPIOA,PIN10,GPIO_MODE_OUTPUT); //GPIO 模式
- GPIO_MODE_Init(GPIOA,PIN12,GPIO_MODE_OUTPUT); //GPIO 模式
- //GPIO_MODE_Init(GPIOA,PIN14,GPIO_MODE_OUTPUT); //GPIO 模式
- //GPIO_MODE_Init(GPIOA,PIN15,GPIO_MODE_OUTPUT); //GPIO 模式
- //GPIO_Write(GPIOA,PIN8,GPIO_SET); //GPIO 輸出
- //GPIO_Write(GPIOA,PIN10,GPIO_SET); //GPIO 輸出
- //GPIO_Write(GPIOA,PIN12,GPIO_SET); //GPIO 輸出
- //GPIO_Write(GPIOA,PIN14,GPIO_RESET); //GPIO 輸出
- //GPIO_Write(GPIOA,PIN15,GPIO_RESET); //GPIO 輸出
- //GPIO_Toggle(GPIOA,PIN15); //GPIO 翻轉
- //GPIO_MODE_Init(GPIOA,PIN15,GPIO_MODE_INTPUT); //GPIO 模式
- for(uint8_t i=0;i<10;i++)
- {
- GPIO_Toggle(GPIOA,PIN8); //GPIO 翻轉
- Delay32M_ms(100);
- }
- ///---- Chapter 6 EXIT Test Init -------------------------------------------------------------------------------------
- //GPIO_EXIT_Init_case1(GPIOA, PIN2);//檢測高電平
- //GPIO_EXIT_Init_case2(GPIOA, PIN2);//檢測低電平
- //GPIO_EXIT_Init_case3(GPIOA, PIN2);//檢測上升沿
- //GPIO_EXIT_Init_case4(GPIOA, PIN2);//檢測下降沿
- //Interrupt_Level(EXIT2_int_ID, INT_LEVEL0);//CLIC設置中斷搶占級別
- //Interrupt_Enable(EXIT2_int_ID);//CLIC使能EXIT中斷
- //載波檢測中斷
- //CAW_Init();//載波檢測
- //Interrupt_Enable(CAW_int_ID);//CLIC使能中斷
- //SYS_Interrupt_Enable();//CLIC開總中斷
- ///---- Chapter 7 RTC Test Init --------------------------------------------------------------------------------------
- //RTC_Init_case1();
- ///---- Chapter 8 IWDG Test Init -------------------------------------------------------------------------------------
- //IWDG_Init(9000); //配置看門狗計數值(時鐘頻率3K)
- //Delay32M_ms(1000);
- //IWDG_Start(); //啟動看門狗
- //IWDG_Refresh(); //喂狗
- ///---- Chapter 9timer Test Init ------------------------------------------------------------------------------------
- //GPIO_MODE_Init(GPIOB,PIN11,GPIO_MODE_OUTPUT); //GPIO 模式
- //GPIO_MODE_Init(GPIOA,PIN9,GPIO_MODE_OUTPUT);
- //GPIO_MODE_Init(GPIOA,PIN11,GPIO_MODE_OUTPUT);
- //GPIO_MODE_Init(GPIOA,PIN13,GPIO_MODE_OUTPUT);
- //外設配置
- //Timer1_UpCounting_Mode_Init();//向上計數
- //Timer1_6StepPWM_Mode_Init();//6stepPWM輸出
- //Timer2_UpCounting_Mode_Init();//向上計數
- //Timer2_DownCounting_Mode_Init();//向下計數
- //Timer2_ExternalClock_Mode_Init();//外部時鐘
- //Timer2_InputCapture_Mode_Init();//輸入捕獲
- //Timer2_PWM_InputCapture_Mode_Init();//PWM輸入捕獲
- //Timer2_Input_XOR_Mode_Init();//輸入異或
- //Timer2_PWM_Mode_Init();//PWM輸出
- //Timer2_6StepPWM_Mode_Init();//6stepPWM輸出
- //設置中斷優先級
- //Interrupt_Level(TIMER1_updata_int_ID, INT_LEVEL1);//CLIC設置中斷搶占級別
- //使能外設中斷
- //Interrupt_Enable(TIMER1_break_int_ID);//CLIC使能中斷
- //Interrupt_Enable(TIMER1_updata_int_ID);//CLIC使能中斷
- //Interrupt_Enable(TIMER1_capture_compare_int_ID);//CLIC使能中斷
- //Interrupt_Enable(TIMER1_trigger_comm_int_ID);//CLIC使能中斷
- //Interrupt_Enable(TIMER2_break_int_ID);//CLIC使能中斷
- //Interrupt_Enable(TIMER2_updata_int_ID);//CLIC使能中斷
- //Interrupt_Enable(TIMER2_capture_compare_int_ID);//CLIC使能中斷
- //Interrupt_Enable(TIMER2_trigger_comm_int_ID);//CLIC使能中斷
- //使能系統總中斷
- //SYS_Interrupt_Enable();//CLIC開總中斷
- ///---- Chapter 10 WUP Test Init -------------------------------------------------------------------------------------
- //GPIO_MODE_Init(GPIOA,PIN2,GPIO_MODE_OUTPUT);
- //GPIO_MODE_Init(GPIOA,PIN3,GPIO_MODE_OUTPUT);
- //WUP_Init_case1(9000);//設置中斷周期,使能WUP中斷
- //Interrupt_Enable(WUP_int_ID);//CLIC使能中斷
- //SYS_Interrupt_Enable();//CLIC開總中斷
- //配置不同低功耗模式
- //System_Halt();//待機模式 halt1
- //System_Sleep();//睡眠模式 halt2
- //System_Powerdown();//掉電模式 powerdown1
- //System_DeepPwd();//掉電模式 powerdown2
- ///---- Chapter 11 ADC Test Init -------------------------------------------------------------------------------------
- ///---- Chapter 12 I2C Test Init -------------------------------------------------------------------------------------
- //I2C_Init_case2();//ready中斷模式
- //I2C_Init_case3();//error中斷模式
- //I2C_Init_case4();//ready & error中斷模式
- //Interrupt_Enable(I2C_ready_int_ID);//CLIC使能i2c_ready中斷
- //Interrupt_Enable(I2C_error_int_ID);//CLIC使能i2c_error中斷
- //SYS_Interrupt_Enable();//CLIC開總中斷
- ///---- Chapter 13 SPI1 Test Init ------------------------------------------------------------------------------------
- //uint8_t sTxpack[10] = {0,1,2,3,4,5,6,7,8,9};
- //uint8_t sRxpack[10] = {0,1,2,3,4,5,6,7,8,9};
- //uint8_t REG_Data;
- //SPI1 Init Test
- //SPI_Init_case1(SPI1);//非中斷模式
- //SPI1_CSN_Init_case1();//CFG: CE-GPIO7,CSN-GPIO8
- //SPI_Init_case2(SPI1);//中斷模式
- //Interrupt_Enable(SPI1_int_ID);//CLIC使能單個中斷
- //SPI2 Init Test
- //SPI_Init_case1(SPI2);//非中斷模式
- //SPI2_CSN_Init_case1();//CFG: CE-GPIO7,CSN-GPIO8
- //SPI_Init_case2(SPI2);//中斷模式
- //Interrupt_Enable(SPI2_int_ID);//CLIC使能單個中斷
- ///---- Chapter 15 UART Test Init -------------------------------------------------------------------------------
- //uint8_t upack1[20] = {0,1,2,3,4,5,6,7,8,9};
- //uint8_t upack2[20] = {0,1,2,3,4,5,6,7,8,9};
- //uint8_t upack3[20] = {0,1,2,3,4,5,6,7,8,9};
- //uint8_t upack4[20] = {10,1,2,3,4,5,6,7,8,9};
- //UART_Init_case1(UART2);//非中斷模式
- //UART_Init_case1(UART3);//非中斷模式
- //UART_Init_case1(UART4);//非中斷模式
- UART_Init_IT_case1(UART1);//中斷模式
- //UART_Init_IT_case1(UART4);//中斷模式
- Interrupt_Enable(UART1_int_ID);//CLIC使能單個中斷
- UART1->CTRL |= 0x00000001U;//清除中斷標志位,防止開機先進一次中斷
- //Interrupt_Enable(UART4_int_ID);//CLIC使能單個中斷
- SYS_Interrupt_Enable();//CLIC開總中斷
- //printf("uart init:rn");
- ///---- Chapter 16 LV Test Init --------------------------------------------------------------------------------------
- //LV_Init_case1(12);//設置低壓報警閾值
- //LV_Interrupt_Enable();//使能低壓報警中斷
- //Interrupt_Enable(LV_int_ID);//CLIC使能單個中斷
- //SYS_Interrupt_Enable();//CLIC開總中斷
- ///---- Chapter 17 RANDGEN Test Init ---------------------------------------------------------------------------------
- //uint32_t rand_data;
- ///---- Chapter 18 compare Test Init ---------------------------------------------------------------------------------
- //COPM1_Init();//COPM1
- //Interrupt_Enable(COMP1_int_ID);//CLIC使能單個中斷
- //COPM2_Init();//COPM2
- //Interrupt_Enable(COMP2_int_ID);//CLIC使能單個中斷
- //COPM3_Init();//COPM3
- //Interrupt_Enable(COMP3_int_ID);//CLIC使能單個中斷
- //SYS_Interrupt_Enable();//CLIC開總中斷
- ///---- Chapter 22 flash Test Init ----------------------------------------------------------------------------------
- //NVR_RW_Test();//NVR read and write test
- //Flash_RW_Test();
- ///---- 系統總中斷控制 -------------------------------------------------------------------------------------------------
- //SYS_Interrupt_Enable();//CLIC開總中斷
- //SYS_Interrupt_Disable();//CLIC關總中斷
- adc_pack[0]=read_csr(mcycle);
- adc_pack[1]=read_csr(mcycle);
- ee_printf("nHello CSM32RV20:n");
- ee_printf("mcycle:%d n",read_csr(mcycle));//比如mcycle這一CSR用于處理器運行的時鐘周期計數
- ee_printf("read_csr(mcycle):%d n",adc_pack[1]-adc_pack[0]);//比如mcycle這一CSR用于處理器運行的時鐘周期計數
- ee_printf("CMU->OSC_SR:%x n",CMU->OSC_SR );
- if(CMU->OSC_SR==210 ) ee_printf("CMU->OSC_SR:210,OSC 時鐘已穩定,RCOSC 時鐘已穩定,:OSC 在為 MCU 提供時鐘;OSC 在為外設提供時鐘; n" );
- //printf("Hello CSM32RV20:rn");
- ee_printf("請輸入:on 或者off (開燈/關燈)rn");
- uint32_t rt_tick1 = rt_tick_get();
- uint32_t rt_tick2 = rt_tick_get();
- Delay32M_ms(1000);
- // OLED_Light();
- // OLED_DrawBMP(0,0,128,8,BAD_APPLE);
- while(1)
- {
- mp_receive_data(ReceiveBuff, &rlen);
- if(uart_dev.frameok==1)//如果接收到數據
- {
- ee_printf("收到數據:");
- Uart_Send(UART1,(uint8_t *)ReceiveBuff,rlen);
- ee_printf("rn");
- uint8_t aton= (uint8_t)ReceiveBuff[0];
- uint32_t data=0;
- switch (aton) {
- case 111://"o"
- if(1==rlen) break;
- if(ReceiveBuff[1]=='n')
- {
- GPIO_Write(GPIOA,PIN8,GPIO_RESET);
- ee_printf("燈開了!rn");
- }
- else if((ReceiveBuff[1]=='f')&&(ReceiveBuff[2]=='f'))
- {
- GPIO_Write(GPIOA,PIN8,GPIO_SET);
- ee_printf("關燈了!rn");
- }
- else
- {
- ee_printf("請輸入:on 或者off (開燈/關燈)rn");
- }
- break;
- default:
- break;
- }
- uart_dev.frameok=0;
- uart_dev.rxlen=0;
- }
- if( rt_tick_get()%1000==0) ee_printf("time is %u s n",rt_tick_get()/1000);
- if(!( rt_tick_get()- rt_tick1< 10000)){
- rt_tick1 = rt_tick_get() ;
- GPIO_Toggle(GPIOB,PIN8);
- GPIO_Toggle(GPIOA,PIN10); //GPIO 翻轉
- // ee_printf("mcycle:%u n",read_csr(mcycle));
- ee_printf("rt_tick_get:%u n", rt_tick_get());
- ee_printf("RTC_MTIME->mtime:%lu ",RTC_MTIME->mtime);
- // ee_printf("type?RTC_MTIME->mtime:%lu n",type(RTC_MTIME->mtime));
- ee_printf("RTC_MTIME->mtime0-7B:");
- for (uint8_t i = 0; i < 8; i++)
- {
- ee_printf("%x ",_REG8(0x0200bff8UL,i));
- }
- ee_printf("nRTC_MTIME->mtime:%u n",_REG32(0x0200bff8UL,4));
- ee_printf("RTC_MTIMECMP->mtimecmp:%lu n",RTC_MTIMECMP->mtimecmp);
- // ee_printf("type?RTC_MTIME->mtime:%lu n",type(RTC_MTIMECMP->mtimecmp));
- ee_printf("->?RTC_MTIME->mtime:%p n",RTC_MTIMECMP->mtimecmp);
- ee_printf("RTC_MTIMECMP->mtimecmp0-7B:");
- for (uint8_t i = 0; i < 8; i++)
- {
- ee_printf("%x ",_REG8(0x02004000UL,i));
- }
- ee_printf(" n");
- }
- // Delay32M_ms(500);
- //Delay16M_ms(500);
- //Delay16M_us(500000);
- //GPIO_Toggle(GPIOA,PIN15);
- //printf("main:rn");
- ///---- Chapter 6 EXIT test ---------------------------------------------------------------------------------
- //delay16M_ms(500);
- //GPIO_Toggle(GPIOA,PIN15);
- ///---- Chapter 8 IWDG test ---------------------------------------------------------------------------------
- //IWDG_Refresh();
- //delay16M_ms(500);
- //GPIO_Toggle(GPIOA,PIN15);
- ///---- Chapter 9 Timer test --------------------------------------------------------------------------------
- //---- soft break --------------------------------------------------------------------------------------
- //delay16M_ms(100);
- //TIMER2->BDTR |= 1 <<15;//BDTR[15]-MOE-主輸出使能:0-關閉,1-使能
- //delay16M_ms(100);
- //TIMER2->EGR |= 1 <<7;//EGR[7]-BG-產生剎車事件
- //---- soft COM ----------------------------------------------------------------------------------------
- //delay16M_ms(100);
- //TIMER2->EGR = 1 <<5;//EGR[5]-COMG-捕獲/比較事件,產生控制更新
- //---- generate oxr ------------------------------------------------------------------------------------
- /*
- Delay16M_ms(10);//1
- GPIO_Write(GPIOA,PIN9,GPIO_SET);
- GPIO_Write(GPIOA,PIN11,GPIO_RESET);
- GPIO_Write(GPIOA,PIN13,GPIO_SET);
- Delay16M_ms(10);//2
- GPIO_Write(GPIOA,PIN9,GPIO_SET);
- GPIO_Write(GPIOA,PIN11,GPIO_RESET);
- GPIO_Write(GPIOA,PIN13,GPIO_RESET);
- Delay16M_ms(10);//3
- GPIO_Write(GPIOA,PIN9,GPIO_SET);
- GPIO_Write(GPIOA,PIN11,GPIO_SET);
- GPIO_Write(GPIOA,PIN13,GPIO_RESET);
- Delay16M_ms(10);//4
- GPIO_Write(GPIOA,PIN9,GPIO_RESET);
- GPIO_Write(GPIOA,PIN11,GPIO_SET);
- GPIO_Write(GPIOA,PIN13,GPIO_RESET);
- Delay16M_ms(10);//5
- GPIO_Write(GPIOA,PIN9,GPIO_RESET);
- GPIO_Write(GPIOA,PIN11,GPIO_SET);
- GPIO_Write(GPIOA,PIN13,GPIO_SET);
- Delay16M_ms(10);//6
- GPIO_Write(GPIOA,PIN9,GPIO_RESET);
- GPIO_Write(GPIOA,PIN11,GPIO_RESET);
- GPIO_Write(GPIOA,PIN13,GPIO_SET);
- */
- ///---- Chapter 11 ADC test ---------------------------------------------------------------------------------
- ///---- Chapter 12 I2C test ---------------------------------------------------------------------------------
- //I2C_Write(0x2d,0x55);//適用于非中斷模式
- //i2c_data = I2C_Read(0x2d);//適用于非中斷模式
- //printf("data:%xrn",i2c_data);
- //I2C_Write(0x2d,0xaa);//適用于非中斷模式
- //i2c_data = I2C_Read(0x2d);//適用于非中斷模式
- //printf("data:%xrn",i2c_data);
- //I2C_Write_IT(0x2d,0x55);//適用于中斷模式
- ///---- Chapter 13 SPI test --------------------------------------------------------------------------------
- //SPI1 Test
- //SPI_Transceive(SPI1,sTxpack,sRxpack,10);//非中斷模式
- //SPI1_RW_reg(WRITE_REG+0x05,0x53);//讀寫Si24R1寄存器
- //REG_Data = SPI1_RW_reg(READ_REG+0x05,0);//讀寫Si24R1寄存器
- //printf("rnREG5:%02x",REG_Data);
- //delay16M_ms(500);
- //SPI2 Test
- //SPI_Transceive(SPI2,sTxpack,sRxpack,10);//非中斷模式
- //SPI2_RW_reg(WRITE_REG+0x05,0x53);//讀寫Si24R1寄存器
- //REG_Data = SPI2_RW_reg(READ_REG+0x05,0);//讀寫Si24R1寄存器
- //printf("rnREG5:%02x",REG_Data);
- //delay16M_ms(500);
- ///---- Chapter 15 UART Test ------------------------------------------------------------------------------------
- //---- 非中斷模式數據回環測試 -------------------------------------------------------------------------------------
- //Uart_Reveive(UART1,upack1,10);//適用于非中斷發送模式
- //Uart_Send(UART1,upack1,10);//適用于非中斷發送模式
- //Uart_Reveive(UART2,upack2,10);//適用于非中斷發送模式
- //Uart_Send(UART2,upack2,10);//適用于非中斷發送模式
- //Uart_Reveive(UART3,upack3,10);//適用于非中斷發送模式
- //Uart_Send(UART3,upack3,10);//適用于非中斷發送模式
- //Uart_Reveive(UART4,upack4,10);//適用于非中斷發送模式
- //Uart_Send(UART4,upack4,10);//適用于非中斷發送模式
- //---- 中斷模式數據回環測試 --------------------------------------------------------------------------------------
- //UART1_putbuf(UART1_getbuf());
- //---- printf測試 ----------------------------------------------------------------------------------------
- //printf("Hellow-01234568789abcdefghijklmnopqrstuvwxyzrn");
- ///---- Chapter 17 RANDGEN test -----------------------------------------------------------------------------
- //rand_data = RAND_Get();//生成隨機數
- //printf("rand:0x%08x,%urn",rand_data,rand_data);
- //delay16M_ms(500);
- ///---- Chapter 18 COMPARE test -----------------------------------------------------------------------------
- //if(COMP1->irq&0x1)
- //{
- //GPIO_Toggle(GPIOA,PIN15);
- //COMP1->irq = 1;
- //}
- //delay16M_ms(10);
- }
- return 0;
- }
com:
Hello CSM32RV20:
mcycle:112549883
read_csr(mcycle):2
CMU->OSC_SR:d2
CMU->OSC_SR:210,OSC 時鐘已穩定,RCOSC 時鐘已穩定,:OSC 在為 MCU 提供時鐘;OSC 在為外設提供時鐘;
請輸入:on 或者off (開燈/關燈)
收到數據:
rt_tick_get:11529
RTC_MTIME->mtime:36899472 RTC_MTIME->mtime0-7B:4a 4c 33 2 0 0 0 0
RTC_MTIME->mtime:0
RTC_MTIMECMP->mtimecmp:36934400
->?RTC_MTIME->mtime:0233b880
RTC_MTIMECMP->mtimecmp0-7B:0 3 34 2 0 0 0 0
val:6700avr:14062513 981.4mV 2108.0mV
time:0 day 0 hour' 0:16
rt_tick_get:21537
RTC_MTIME->mtime:68926545 RTC_MTIME->mtime0-7B:c fd 1c 4 0 0 0 0
RTC_MTIME->mtime:0
RTC_MTIMECMP->mtimecmp:68960000
->?RTC_MTIME->mtime:041c6480
RTC_MTIMECMP->mtimecmp0-7B:0 af 1c 4 0 0 0 0
收到數據:on
燈開了!
rt_tick_get:61655
RTC_MTIME->mtime:197302775 RTC_MTIME->mtime0-7B:c8 dd c2 b 0 0 0 0
RTC_MTIME->mtime:0
RTC_MTIMECMP->mtimecmp:197337600
->?RTC_MTIME->mtime:0bc34780
RTC_MTIMECMP->mtimecmp0-7B:0 92 c3 b 0 0 0 0
time is 63 s
收到數據:off
關燈了!
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
南京中科微
+關注
關注
0文章
60瀏覽量
744 -
CSM32RV20
+關注
關注
0文章
40瀏覽量
216
發布評論請先 登錄
相關推薦
有獎丨米爾 全志T536開發板免費試用
米爾與全志合作發布的新品基于全志T536應用處理器的MYD-LT536-GK開發板免費試用活動來啦~~米爾提供了3塊價值750元的MYD-LT536-GK開發板發起試用活動您不僅可以免
瑞芯微平臺Android系統串口測試方法,觸覺智能RK3562開發板演示
瑞芯微方案主板Android系統串口測試方法,通用RK3568、RK3566、RK3588、RK3576等。觸覺智能RK3562開發板演示
【敏矽微ME32G070開發板免費體驗】\\+Lora通信終端產品開發項目
需求評估產品性能。
一.開發板申請之路—聽我娓娓道來
2024年11月19日早,電子發燒友論壇微信公眾號發文,標題為《新品體驗!敏矽微ME32G070開發板免費
發表于 12-15 18:26
追加名額丨米爾瑞芯微RK3576開發板有獎試用
米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動加碼啦~~米爾追加了2塊價值849元的MYD-LR3576
常用在工業控制系統上的MCU芯片資料:CSM32RV20
CSM32RV20是一款基于RISC-V核的低功耗MCU芯片。 內置RISC-V RV32IMAC內核(2.6CoreMark/MHz); 蕞高32MHz工作頻率; 內置4kB的SRAM; 內置8B
有獎丨米爾 瑞芯微RK3576開發板免費試用
米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動來啦~~米爾提供了7塊價值849元的MYD-LR3576
【龍芯2K0300蜂鳥板試用】龍芯2K0300蜂鳥開發板引腳定義及體驗開發板
ospeed 9600
1
讀取串口數據
cat /dev/ttyS1
以上內容希望為想了解這塊開發板的朋友有所幫助。
發表于 09-19 18:54
點擊參與米爾NXP i.MX 93開發板有獎試用
米爾與NXP合作發布的新品基于NXPi.MX93應用處理器的MYD-LMX9X開發板免費試用活動來啦~~米爾提供了3塊價值678元的MYD-LMX9X開發板發起試用活動您不僅可以免費體
【核桃派1B 開發板試用體驗】+GPIO測試篇
GPIO是入手硬件的最佳點,在核桃派的開發板上配有40Pin
GPIO(和樹莓派類似),見圖1所示。
該擴展接口分為兩行,每行有20個排針。
發表于 01-02 19:57
評論