本文來源電子發(fā)燒友社區(qū),作者:盧松濤, 帖子地址:https://bbs.elecfans.com/jishu_2249212_1_1.html
新建的項目有很多功能的參考用法demo紅綠藍(lán)色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;//清除中斷標(biāo)志位,防止開機(jī)先進(jìn)一次中斷
//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 翻轉(zhuǎn)
復(fù)制代碼
com:
Hello CSM32RV20:
mcycle:112549883
read_csr(mcycle):2
CMU->OSC_SR:d2
CMU->OSC_SR:210,OSC 時鐘已穩(wěn)定,RCOSC 時鐘已穩(wěn)定,:OSC 在為 MCU 提供時鐘;OSC 在為外設(shè)提供時鐘;
請輸入:on 或者off (開燈/關(guān)燈)
收到數(shù)據(jù):
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
收到數(shù)據(jù):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
收到數(shù)據(jù):off
關(guān)燈了!
新建的項目有很多功能的參考用法demo紅綠藍(lán)色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;//清除中斷標(biāo)志位,防止開機(jī)先進(jìn)一次中斷
//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 翻轉(zhuǎn)
- #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; //默認(rèn)為0
- Delay32M_ms(10); //等待40ms,連續(xù)超過10ms沒有接收到一個數(shù)據(jù),則認(rèn)為接收結(jié)束
- if (rxlen == UART1_RX_CNT && rxlen) //接收到了數(shù)據(jù),且接收完成了
- {
- for (i = 0; i < rxlen; i++)
- {
- buf[i] = uart_dev.rxbuf[i];
- }
- *len = UART1_RX_CNT; //記錄本次數(shù)據(jù)長度
- UART1_RX_CNT = 0; //清零
- uart_dev.frameok=1; //標(biāo)記完成一幀數(shù)據(jù)接收
- // getData=0;//數(shù)據(jù)接收完成,標(biāo)志位清零
- }
- }
- #define Max_Column 128
- uint8_t ReceiveBuff[RECV_LEN];
- int main(void)
- {
- uint16_t rlen=0;
- uart_dev.rxlen=0;
- ///----System Init ---------------------------------------------------------------------------------------------
- CLIC_Init();//系統(tǒng)中斷配置
- System_Clock_Init();//系統(tǒng)時鐘初始化
- ///----Chapter 3 LowPower Test Init ---------------------------------------------------------------------------------
- //低功耗測功耗需要IO不能懸空
- //Delay32M_ms(5000);
- //LowPower_Config_case1();//所有IO設(shè)置為輸入,下拉
- //LowPower_Config_case2();//所有IO設(shè)置為輸入,上拉
- //使用外部中斷喚醒
- //GPIO_EXIT_Init_case1(GPIOA, PIN2);//檢測高電平
- //Interrupt_Level(EXIT2_int_ID, INT_LEVEL0);//CLIC設(shè)置中斷搶占級別
- //Interrupt_Enable(EXIT2_int_ID);//CLIC使能EXIT中斷
- //SYS_Interrupt_Enable();//CLIC開總中斷
- //配置不同低功耗模式
- //System_Halt();//待機(jī)模式 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 翻轉(zhuǎn)
- //GPIO_MODE_Init(GPIOA,PIN15,GPIO_MODE_INTPUT); //GPIO 模式
- for(uint8_t i=0;i<10;i++)
- {
- GPIO_Toggle(GPIOA,PIN8); //GPIO 翻轉(zhuǎn)
- 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設(shè)置中斷搶占級別
- //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); //配置看門狗計數(shù)值(時鐘頻率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);
- //外設(shè)配置
- //Timer1_UpCounting_Mode_Init();//向上計數(shù)
- //Timer1_6StepPWM_Mode_Init();//6stepPWM輸出
- //Timer2_UpCounting_Mode_Init();//向上計數(shù)
- //Timer2_DownCounting_Mode_Init();//向下計數(shù)
- //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輸出
- //設(shè)置中斷優(yōu)先級
- //Interrupt_Level(TIMER1_updata_int_ID, INT_LEVEL1);//CLIC設(shè)置中斷搶占級別
- //使能外設(shè)中斷
- //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使能中斷
- //使能系統(tǒng)總中斷
- //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);//設(shè)置中斷周期,使能WUP中斷
- //Interrupt_Enable(WUP_int_ID);//CLIC使能中斷
- //SYS_Interrupt_Enable();//CLIC開總中斷
- //配置不同低功耗模式
- //System_Halt();//待機(jī)模式 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;//清除中斷標(biāo)志位,防止開機(jī)先進(jìn)一次中斷
- //Interrupt_Enable(UART4_int_ID);//CLIC使能單個中斷
- SYS_Interrupt_Enable();//CLIC開總中斷
- //printf("uart init:rn");
- ///---- Chapter 16 LV Test Init --------------------------------------------------------------------------------------
- //LV_Init_case1(12);//設(shè)置低壓報警閾值
- //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();
- ///---- 系統(tǒng)總中斷控制 -------------------------------------------------------------------------------------------------
- //SYS_Interrupt_Enable();//CLIC開總中斷
- //SYS_Interrupt_Disable();//CLIC關(guān)總中斷
- 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用于處理器運行的時鐘周期計數(shù)
- ee_printf("read_csr(mcycle):%d n",adc_pack[1]-adc_pack[0]);//比如mcycle這一CSR用于處理器運行的時鐘周期計數(shù)
- ee_printf("CMU->OSC_SR:%x n",CMU->OSC_SR );
- if(CMU->OSC_SR==210 ) ee_printf("CMU->OSC_SR:210,OSC 時鐘已穩(wěn)定,RCOSC 時鐘已穩(wěn)定,:OSC 在為 MCU 提供時鐘;OSC 在為外設(shè)提供時鐘; n" );
- //printf("Hello CSM32RV20:rn");
- ee_printf("請輸入:on 或者off (開燈/關(guān)燈)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)//如果接收到數(shù)據(jù)
- {
- ee_printf("收到數(shù)據(jù):");
- 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("關(guān)燈了!rn");
- }
- else
- {
- ee_printf("請輸入:on 或者off (開燈/關(guān)燈)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 翻轉(zhuǎn)
- // 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-關(guān)閉,1-使能
- //delay16M_ms(100);
- //TIMER2->EGR |= 1 <<7;//EGR[7]-BG-產(chǎn)生剎車事件
- //---- soft COM ----------------------------------------------------------------------------------------
- //delay16M_ms(100);
- //TIMER2->EGR = 1 <<5;//EGR[5]-COMG-捕獲/比較事件,產(chǎn)生控制更新
- //---- 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 ------------------------------------------------------------------------------------
- //---- 非中斷模式數(shù)據(jù)回環(huán)測試 -------------------------------------------------------------------------------------
- //Uart_Reveive(UART1,upack1,10);//適用于非中斷發(fā)送模式
- //Uart_Send(UART1,upack1,10);//適用于非中斷發(fā)送模式
- //Uart_Reveive(UART2,upack2,10);//適用于非中斷發(fā)送模式
- //Uart_Send(UART2,upack2,10);//適用于非中斷發(fā)送模式
- //Uart_Reveive(UART3,upack3,10);//適用于非中斷發(fā)送模式
- //Uart_Send(UART3,upack3,10);//適用于非中斷發(fā)送模式
- //Uart_Reveive(UART4,upack4,10);//適用于非中斷發(fā)送模式
- //Uart_Send(UART4,upack4,10);//適用于非中斷發(fā)送模式
- //---- 中斷模式數(shù)據(jù)回環(huán)測試 --------------------------------------------------------------------------------------
- //UART1_putbuf(UART1_getbuf());
- //---- printf測試 ----------------------------------------------------------------------------------------
- //printf("Hellow-01234568789abcdefghijklmnopqrstuvwxyzrn");
- ///---- Chapter 17 RANDGEN test -----------------------------------------------------------------------------
- //rand_data = RAND_Get();//生成隨機(jī)數(shù)
- //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 時鐘已穩(wěn)定,RCOSC 時鐘已穩(wěn)定,:OSC 在為 MCU 提供時鐘;OSC 在為外設(shè)提供時鐘;
請輸入:on 或者off (開燈/關(guān)燈)
收到數(shù)據(jù):
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
收到數(shù)據(jù):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
收到數(shù)據(jù):off
關(guān)燈了!
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
南京中科微
+關(guān)注
關(guān)注
0文章
60瀏覽量
729 -
CSM32RV20
+關(guān)注
關(guān)注
0文章
40瀏覽量
204
發(fā)布評論請先 登錄
相關(guān)推薦
【RA-Eco-RA0E1-32PIN-V1.0開發(fā)板試用】點燈
RA0E1開發(fā)板試用報告
試用單位 : 個人開發(fā)板 : RA0E1
一、背景
很榮幸獲得由電子發(fā)
發(fā)表于 09-24 11:54
【龍芯2K0300蜂鳥板試用】龍芯2K0300蜂鳥開發(fā)板引腳定義及體驗開發(fā)板
ospeed 9600
1
讀取串口數(shù)據(jù)
cat /dev/ttyS1
以上內(nèi)容希望為想了解這塊開發(fā)板的朋友有所幫助。
發(fā)表于 09-19 18:54
【作品合集】龍芯2K0300蜂鳥開發(fā)板試用精選
試用】龍芯2K0300蜂鳥開發(fā)板上GPIO的驅(qū)動及使用 【龍芯2K0300蜂鳥板試用】初了解龍芯2K0300蜂鳥
發(fā)表于 09-10 18:17
【龍芯2K0300蜂鳥板試用】試用開箱體驗及調(diào)試
口:
試用開發(fā)板實物及配件如下:
龍芯2K0300蜂鳥板 * 1
主播電池 * 1
USBTypec線 *
發(fā)表于 09-08 12:08
【龍芯2K0300蜂鳥板試用】+龍芯2K0300蜂鳥開發(fā)板快速上手
1. 前言
我非常感激社區(qū)和官方提供的這次開發(fā)板試用機(jī)會。這是一個難得的學(xué)習(xí)和實踐的機(jī)遇,尤其是在我對于這種新型架構(gòu)一直抱有濃厚興趣卻未曾深入了解的情況下。我?guī)е活w好奇和探索的心,準(zhǔn)備投身于這個
發(fā)表于 08-04 14:19
點擊參與米爾NXP i.MX 93開發(fā)板有獎試用
米爾與NXP合作發(fā)布的新品基于NXPi.MX93應(yīng)用處理器的MYD-LMX9X開發(fā)板免費試用活動來啦~~米爾提供了3塊價值678元的MYD-LMX9X開發(fā)板發(fā)起試用活動您不僅可以免費體
免費!NXP i.MX 93開發(fā)板有獎試用
米爾與NXP合作發(fā)布的新品基于NXPi.MX93應(yīng)用處理器的MYD-LMX9X開發(fā)板免費試用活動來啦~~米爾提供了2塊價值678
【核桃派1B 開發(fā)板試用體驗】+GPIO測試篇
GPIO是入手硬件的最佳點,在核桃派的開發(fā)板上配有40Pin
GPIO(和樹莓派類似),見圖1所示。
該擴(kuò)展接口分為兩行,每行有20個排針。
發(fā)表于 01-02 19:57
【ELF 1開發(fā)板試用】板載資源測試4:體驗溫濕度傳感器
、實驗?zāi)康?b class='flag-5'>1、熟悉ELF 1開發(fā)板基本操作。2、熟悉ELF 1開發(fā)板板載資源。三、實驗背景1、知
發(fā)表于 12-18 11:09
【先楫HPM5361EVK開發(fā)板試用體驗】GPIO使用,點燈
(General Purpose Input/Output)來控制輸入輸出功能。
GPIO使用是HPM5361EVK開發(fā)板的一個重要特性,可以通過簡單的配置來實現(xiàn)對IO口進(jìn)行控制。在試用
發(fā)表于 12-10 16:57
【ELF 1開發(fā)板試用】+ GPIO口的使用
ELF 1開發(fā)板配有功能擴(kuò)展的接口P2和P6,可選取其中的GPIO口來進(jìn)行功能開發(fā)。
之所以這樣講,是因此
發(fā)表于 12-08 11:28
基于瑞芯微 RV1103 芯片,微型 Linux 開發(fā)板LuckFox Pico Plus開發(fā)實踐
LuckFox Pico 是一款基于瑞芯微 RV1103 芯片具有高性價比的微型 Linux 開發(fā)板,旨在為開發(fā)者提供一個簡單且高效的開發(fā)
發(fā)表于 11-30 14:10
【ELF 1開發(fā)板試用】+ RGB LED及按鍵的控制
在GPIO的輸入設(shè)備中,最常用的便是按鍵。在ELF 1開發(fā)板上,自然也短不了它,其在開發(fā)板上的位置如圖6所示,共有3個,分別為K1、K2及
發(fā)表于 11-21 11:11
【LuckFox Pico Plus開發(fā)板免費試用】RKNN模型推理測試
感謝電子發(fā)燒友和幸狐科技提供了此次LuckFox Pico Plus開發(fā)板試用機(jī)會。
LuckFox Pico 是一款基于瑞芯微 RV1103 芯片具有高性價比的微型 Linux
發(fā)表于 11-11 16:51
評論