0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【南京中科微CSM32RV20开发板试用体验】+1-GPIO口串口的使用

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-30 10:50 次阅读
本文来源电子发烧友社区,作者:卢松涛, 帖子地址: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 翻转









  1. #include "headfile.h"
  2. void mp_receive_data(uint8_t *buf, uint16_t *len)
  3. {
  4. uint8_t rxlen = UART1_RX_CNT;
  5. uint16_t i = 0;
  6. *len = 0; //默认为0
  7. Delay32M_ms(10); //等待40ms,连续超过10ms没有接收到一个数据,则认为接收结束
  8. if (rxlen == UART1_RX_CNT && rxlen) //接收到了数据,且接收完成了
  9. {
  10. for (i = 0; i < rxlen; i++)
  11. {
  12. buf[i] = uart_dev.rxbuf[i];
  13. }
  14. *len = UART1_RX_CNT; //记录本次数据长度
  15. UART1_RX_CNT = 0; //清零
  16. uart_dev.frameok=1; //标记完成一帧数据接收
  17. // getData=0;//数据接收完成,标志位清零
  18. }
  19. }
  20. #define Max_Column 128
  21. uint8_t ReceiveBuff[RECV_LEN];
  22. int main(void)
  23. {
  24. uint16_t rlen=0;
  25. uart_dev.rxlen=0;
  26. ///----System Init ---------------------------------------------------------------------------------------------
  27. CLIC_Init();//系统中断配置
  28. System_Clock_Init();//系统时钟初始化
  29. ///----Chapter 3 LowPower Test Init ---------------------------------------------------------------------------------
  30. //低功耗测功耗需要IO不能悬空
  31. //Delay32M_ms(5000);
  32. //LowPower_Config_case1();//所有IO设置为输入,下拉
  33. //LowPower_Config_case2();//所有IO设置为输入,上拉
  34. //使用外部中断唤醒
  35. //GPIO_EXIT_Init_case1(GPIOA, PIN2);//检测高电平
  36. //Interrupt_Level(EXIT2_int_ID, INT_LEVEL0);//CLIC设置中断抢占级别
  37. //Interrupt_Enable(EXIT2_int_ID);//CLIC使能EXIT中断
  38. //SYS_Interrupt_Enable();//CLIC开总中断
  39. //配置不同低功耗模式
  40. //System_Halt();//待机模式 halt1
  41. //System_Sleep();//睡眠模式 halt2
  42. //System_Powerdown();//掉电模式 powerdown1
  43. //System_DeepPwd();//掉电模式 powerdown2
  44. ///----Chapter 5 GPIO Test Init ---------------------------------------------------------------------------------
  45. GPIO_MODE_Init(GPIOA,PIN8,GPIO_MODE_OUTPUT); //GPIO 模式
  46. GPIO_MODE_Init(GPIOA,PIN10,GPIO_MODE_OUTPUT); //GPIO 模式
  47. GPIO_MODE_Init(GPIOA,PIN12,GPIO_MODE_OUTPUT); //GPIO 模式
  48. //GPIO_MODE_Init(GPIOA,PIN14,GPIO_MODE_OUTPUT); //GPIO 模式
  49. //GPIO_MODE_Init(GPIOA,PIN15,GPIO_MODE_OUTPUT); //GPIO 模式
  50. //GPIO_Write(GPIOA,PIN8,GPIO_SET); //GPIO 输出
  51. //GPIO_Write(GPIOA,PIN10,GPIO_SET); //GPIO 输出
  52. //GPIO_Write(GPIOA,PIN12,GPIO_SET); //GPIO 输出
  53. //GPIO_Write(GPIOA,PIN14,GPIO_RESET); //GPIO 输出
  54. //GPIO_Write(GPIOA,PIN15,GPIO_RESET); //GPIO 输出
  55. //GPIO_Toggle(GPIOA,PIN15); //GPIO 翻转
  56. //GPIO_MODE_Init(GPIOA,PIN15,GPIO_MODE_INTPUT); //GPIO 模式
  57. for(uint8_t i=0;i<10;i++)
  58. {
  59. GPIO_Toggle(GPIOA,PIN8); //GPIO 翻转
  60. Delay32M_ms(100);
  61. }
  62. ///---- Chapter 6 EXIT Test Init -------------------------------------------------------------------------------------
  63. //GPIO_EXIT_Init_case1(GPIOA, PIN2);//检测高电平
  64. //GPIO_EXIT_Init_case2(GPIOA, PIN2);//检测低电平
  65. //GPIO_EXIT_Init_case3(GPIOA, PIN2);//检测上升沿
  66. //GPIO_EXIT_Init_case4(GPIOA, PIN2);//检测下降沿
  67. //Interrupt_Level(EXIT2_int_ID, INT_LEVEL0);//CLIC设置中断抢占级别
  68. //Interrupt_Enable(EXIT2_int_ID);//CLIC使能EXIT中断
  69. //载波检测中断
  70. //CAW_Init();//载波检测
  71. //Interrupt_Enable(CAW_int_ID);//CLIC使能中断
  72. //SYS_Interrupt_Enable();//CLIC开总中断
  73. ///---- Chapter 7 RTC Test Init --------------------------------------------------------------------------------------
  74. //RTC_Init_case1();
  75. ///---- Chapter 8 IWDG Test Init -------------------------------------------------------------------------------------
  76. //IWDG_Init(9000); //配置看门狗计数值(时钟频率3K)
  77. //Delay32M_ms(1000);
  78. //IWDG_Start(); //启动看门狗
  79. //IWDG_Refresh(); //喂狗
  80. ///---- Chapter 9timer Test Init ------------------------------------------------------------------------------------
  81. //GPIO_MODE_Init(GPIOB,PIN11,GPIO_MODE_OUTPUT); //GPIO 模式
  82. //GPIO_MODE_Init(GPIOA,PIN9,GPIO_MODE_OUTPUT);
  83. //GPIO_MODE_Init(GPIOA,PIN11,GPIO_MODE_OUTPUT);
  84. //GPIO_MODE_Init(GPIOA,PIN13,GPIO_MODE_OUTPUT);
  85. //外设配置
  86. //Timer1_UpCounting_Mode_Init();//向上计数
  87. //Timer1_6StepPWM_Mode_Init();//6stepPWM输出
  88. //Timer2_UpCounting_Mode_Init();//向上计数
  89. //Timer2_DownCounting_Mode_Init();//向下计数
  90. //Timer2_ExternalClock_Mode_Init();//外部时钟
  91. //Timer2_InputCapture_Mode_Init();//输入捕获
  92. //Timer2_PWM_InputCapture_Mode_Init();//PWM输入捕获
  93. //Timer2_Input_XOR_Mode_Init();//输入异或
  94. //Timer2_PWM_Mode_Init();//PWM输出
  95. //Timer2_6StepPWM_Mode_Init();//6stepPWM输出
  96. //设置中断优先级
  97. //Interrupt_Level(TIMER1_updata_int_ID, INT_LEVEL1);//CLIC设置中断抢占级别
  98. //使能外设中断
  99. //Interrupt_Enable(TIMER1_break_int_ID);//CLIC使能中断
  100. //Interrupt_Enable(TIMER1_updata_int_ID);//CLIC使能中断
  101. //Interrupt_Enable(TIMER1_capture_compare_int_ID);//CLIC使能中断
  102. //Interrupt_Enable(TIMER1_trigger_comm_int_ID);//CLIC使能中断
  103. //Interrupt_Enable(TIMER2_break_int_ID);//CLIC使能中断
  104. //Interrupt_Enable(TIMER2_updata_int_ID);//CLIC使能中断
  105. //Interrupt_Enable(TIMER2_capture_compare_int_ID);//CLIC使能中断
  106. //Interrupt_Enable(TIMER2_trigger_comm_int_ID);//CLIC使能中断
  107. //使能系统总中断
  108. //SYS_Interrupt_Enable();//CLIC开总中断
  109. ///---- Chapter 10 WUP Test Init -------------------------------------------------------------------------------------
  110. //GPIO_MODE_Init(GPIOA,PIN2,GPIO_MODE_OUTPUT);
  111. //GPIO_MODE_Init(GPIOA,PIN3,GPIO_MODE_OUTPUT);
  112. //WUP_Init_case1(9000);//设置中断周期,使能WUP中断
  113. //Interrupt_Enable(WUP_int_ID);//CLIC使能中断
  114. //SYS_Interrupt_Enable();//CLIC开总中断
  115. //配置不同低功耗模式
  116. //System_Halt();//待机模式 halt1
  117. //System_Sleep();//睡眠模式 halt2
  118. //System_Powerdown();//掉电模式 powerdown1
  119. //System_DeepPwd();//掉电模式 powerdown2
  120. ///---- Chapter 11 ADC Test Init -------------------------------------------------------------------------------------
  121. ///---- Chapter 12 I2C Test Init -------------------------------------------------------------------------------------
  122. //I2C_Init_case2();//ready中断模式
  123. //I2C_Init_case3();//error中断模式
  124. //I2C_Init_case4();//ready & error中断模式
  125. //Interrupt_Enable(I2C_ready_int_ID);//CLIC使能i2c_ready中断
  126. //Interrupt_Enable(I2C_error_int_ID);//CLIC使能i2c_error中断
  127. //SYS_Interrupt_Enable();//CLIC开总中断
  128. ///---- Chapter 13 SPI1 Test Init ------------------------------------------------------------------------------------
  129. //uint8_t sTxpack[10] = {0,1,2,3,4,5,6,7,8,9};
  130. //uint8_t sRxpack[10] = {0,1,2,3,4,5,6,7,8,9};
  131. //uint8_t REG_Data;
  132. //SPI1 Init Test
  133. //SPI_Init_case1(SPI1);//非中断模式
  134. //SPI1_CSN_Init_case1();//CFG: CE-GPIO7,CSN-GPIO8
  135. //SPI_Init_case2(SPI1);//中断模式
  136. //Interrupt_Enable(SPI1_int_ID);//CLIC使能单个中断
  137. //SPI2 Init Test
  138. //SPI_Init_case1(SPI2);//非中断模式
  139. //SPI2_CSN_Init_case1();//CFG: CE-GPIO7,CSN-GPIO8
  140. //SPI_Init_case2(SPI2);//中断模式
  141. //Interrupt_Enable(SPI2_int_ID);//CLIC使能单个中断
  142. ///---- Chapter 15 UART Test Init -------------------------------------------------------------------------------
  143. //uint8_t upack1[20] = {0,1,2,3,4,5,6,7,8,9};
  144. //uint8_t upack2[20] = {0,1,2,3,4,5,6,7,8,9};
  145. //uint8_t upack3[20] = {0,1,2,3,4,5,6,7,8,9};
  146. //uint8_t upack4[20] = {10,1,2,3,4,5,6,7,8,9};
  147. //UART_Init_case1(UART2);//非中断模式
  148. //UART_Init_case1(UART3);//非中断模式
  149. //UART_Init_case1(UART4);//非中断模式
  150. UART_Init_IT_case1(UART1);//中断模式
  151. //UART_Init_IT_case1(UART4);//中断模式
  152. Interrupt_Enable(UART1_int_ID);//CLIC使能单个中断
  153. UART1->CTRL |= 0x00000001U;//清除中断标志位,防止开机先进一次中断
  154. //Interrupt_Enable(UART4_int_ID);//CLIC使能单个中断
  155. SYS_Interrupt_Enable();//CLIC开总中断
  156. //printf("uart init:rn");
  157. ///---- Chapter 16 LV Test Init --------------------------------------------------------------------------------------
  158. //LV_Init_case1(12);//设置低压报警阈值
  159. //LV_Interrupt_Enable();//使能低压报警中断
  160. //Interrupt_Enable(LV_int_ID);//CLIC使能单个中断
  161. //SYS_Interrupt_Enable();//CLIC开总中断
  162. ///---- Chapter 17 RANDGEN Test Init ---------------------------------------------------------------------------------
  163. //uint32_t rand_data;
  164. ///---- Chapter 18 compare Test Init ---------------------------------------------------------------------------------
  165. //COPM1_Init();//COPM1
  166. //Interrupt_Enable(COMP1_int_ID);//CLIC使能单个中断
  167. //COPM2_Init();//COPM2
  168. //Interrupt_Enable(COMP2_int_ID);//CLIC使能单个中断
  169. //COPM3_Init();//COPM3
  170. //Interrupt_Enable(COMP3_int_ID);//CLIC使能单个中断
  171. //SYS_Interrupt_Enable();//CLIC开总中断
  172. ///---- Chapter 22 flash Test Init ----------------------------------------------------------------------------------
  173. //NVR_RW_Test();//NVR read and write test
  174. //Flash_RW_Test();
  175. ///---- 系统总中断控制 -------------------------------------------------------------------------------------------------
  176. //SYS_Interrupt_Enable();//CLIC开总中断
  177. //SYS_Interrupt_Disable();//CLIC关总中断
  178. adc_pack[0]=read_csr(mcycle);
  179. adc_pack[1]=read_csr(mcycle);
  180. ee_printf("nHello CSM32RV20:n");
  181. ee_printf("mcycle:%d n",read_csr(mcycle));//比如mcycle这一CSR用于处理器运行的时钟周期计数
  182. ee_printf("read_csr(mcycle):%d n",adc_pack[1]-adc_pack[0]);//比如mcycle这一CSR用于处理器运行的时钟周期计数
  183. ee_printf("CMU->OSC_SR:%x n",CMU->OSC_SR );
  184. if(CMU->OSC_SR==210 ) ee_printf("CMU->OSC_SR:210,OSC 时钟已稳定,RCOSC 时钟已稳定,:OSC 在为 MCU 提供时钟;OSC 在为外设提供时钟; n" );
  185. //printf("Hello CSM32RV20:rn");
  186. ee_printf("请输入:on 或者off (开灯/关灯)rn");
  187. uint32_t rt_tick1 = rt_tick_get();
  188. uint32_t rt_tick2 = rt_tick_get();
  189. Delay32M_ms(1000);
  190. // OLED_Light();
  191. // OLED_DrawBMP(0,0,128,8,BAD_APPLE);
  192. while(1)
  193. {
  194. mp_receive_data(ReceiveBuff, &rlen);
  195. if(uart_dev.frameok==1)//如果接收到数据
  196. {
  197. ee_printf("收到数据:");
  198. Uart_Send(UART1,(uint8_t *)ReceiveBuff,rlen);
  199. ee_printf("rn");
  200. uint8_t aton= (uint8_t)ReceiveBuff[0];
  201. uint32_t data=0;
  202. switch (aton) {
  203. case 111://"o"
  204. if(1==rlen) break;
  205. if(ReceiveBuff[1]=='n')
  206. {
  207. GPIO_Write(GPIOA,PIN8,GPIO_RESET);
  208. ee_printf("灯开了!rn");
  209. }
  210. else if((ReceiveBuff[1]=='f')&&(ReceiveBuff[2]=='f'))
  211. {
  212. GPIO_Write(GPIOA,PIN8,GPIO_SET);
  213. ee_printf("关灯了!rn");
  214. }
  215. else
  216. {
  217. ee_printf("请输入:on 或者off (开灯/关灯)rn");
  218. }
  219. break;
  220. default:
  221. break;
  222. }
  223. uart_dev.frameok=0;
  224. uart_dev.rxlen=0;
  225. }
  226. if( rt_tick_get()%1000==0) ee_printf("time is %u s n",rt_tick_get()/1000);
  227. if(!( rt_tick_get()- rt_tick1< 10000)){
  228. rt_tick1 = rt_tick_get() ;
  229. GPIO_Toggle(GPIOB,PIN8);
  230. GPIO_Toggle(GPIOA,PIN10); //GPIO 翻转
  231. // ee_printf("mcycle:%u n",read_csr(mcycle));
  232. ee_printf("rt_tick_get:%u n", rt_tick_get());
  233. ee_printf("RTC_MTIME->mtime:%lu ",RTC_MTIME->mtime);
  234. // ee_printf("type?RTC_MTIME->mtime:%lu n",type(RTC_MTIME->mtime));
  235. ee_printf("RTC_MTIME->mtime0-7B:");
  236. for (uint8_t i = 0; i < 8; i++)
  237. {
  238. ee_printf("%x ",_REG8(0x0200bff8UL,i));
  239. }
  240. ee_printf("nRTC_MTIME->mtime:%u n",_REG32(0x0200bff8UL,4));
  241. ee_printf("RTC_MTIMECMP->mtimecmp:%lu n",RTC_MTIMECMP->mtimecmp);
  242. // ee_printf("type?RTC_MTIME->mtime:%lu n",type(RTC_MTIMECMP->mtimecmp));
  243. ee_printf("->?RTC_MTIME->mtime:%p n",RTC_MTIMECMP->mtimecmp);
  244. ee_printf("RTC_MTIMECMP->mtimecmp0-7B:");
  245. for (uint8_t i = 0; i < 8; i++)
  246. {
  247. ee_printf("%x ",_REG8(0x02004000UL,i));
  248. }
  249. ee_printf(" n");
  250. }
  251. // Delay32M_ms(500);
  252. //Delay16M_ms(500);
  253. //Delay16M_us(500000);
  254. //GPIO_Toggle(GPIOA,PIN15);
  255. //printf("main:rn");
  256. ///---- Chapter 6 EXIT test ---------------------------------------------------------------------------------
  257. //delay16M_ms(500);
  258. //GPIO_Toggle(GPIOA,PIN15);
  259. ///---- Chapter 8 IWDG test ---------------------------------------------------------------------------------
  260. //IWDG_Refresh();
  261. //delay16M_ms(500);
  262. //GPIO_Toggle(GPIOA,PIN15);
  263. ///---- Chapter 9 Timer test --------------------------------------------------------------------------------
  264. //---- soft break --------------------------------------------------------------------------------------
  265. //delay16M_ms(100);
  266. //TIMER2->BDTR |= 1 <<15;//BDTR[15]-MOE-主输出使能:0-关闭,1-使能
  267. //delay16M_ms(100);
  268. //TIMER2->EGR |= 1 <<7;//EGR[7]-BG-产生刹车事件
  269. //---- soft COM ----------------------------------------------------------------------------------------
  270. //delay16M_ms(100);
  271. //TIMER2->EGR = 1 <<5;//EGR[5]-COMG-捕获/比较事件,产生控制更新
  272. //---- generate oxr ------------------------------------------------------------------------------------
  273. /*
  274. Delay16M_ms(10);//1
  275. GPIO_Write(GPIOA,PIN9,GPIO_SET);
  276. GPIO_Write(GPIOA,PIN11,GPIO_RESET);
  277. GPIO_Write(GPIOA,PIN13,GPIO_SET);
  278. Delay16M_ms(10);//2
  279. GPIO_Write(GPIOA,PIN9,GPIO_SET);
  280. GPIO_Write(GPIOA,PIN11,GPIO_RESET);
  281. GPIO_Write(GPIOA,PIN13,GPIO_RESET);
  282. Delay16M_ms(10);//3
  283. GPIO_Write(GPIOA,PIN9,GPIO_SET);
  284. GPIO_Write(GPIOA,PIN11,GPIO_SET);
  285. GPIO_Write(GPIOA,PIN13,GPIO_RESET);
  286. Delay16M_ms(10);//4
  287. GPIO_Write(GPIOA,PIN9,GPIO_RESET);
  288. GPIO_Write(GPIOA,PIN11,GPIO_SET);
  289. GPIO_Write(GPIOA,PIN13,GPIO_RESET);
  290. Delay16M_ms(10);//5
  291. GPIO_Write(GPIOA,PIN9,GPIO_RESET);
  292. GPIO_Write(GPIOA,PIN11,GPIO_SET);
  293. GPIO_Write(GPIOA,PIN13,GPIO_SET);
  294. Delay16M_ms(10);//6
  295. GPIO_Write(GPIOA,PIN9,GPIO_RESET);
  296. GPIO_Write(GPIOA,PIN11,GPIO_RESET);
  297. GPIO_Write(GPIOA,PIN13,GPIO_SET);
  298. */
  299. ///---- Chapter 11 ADC test ---------------------------------------------------------------------------------
  300. ///---- Chapter 12 I2C test ---------------------------------------------------------------------------------
  301. //I2C_Write(0x2d,0x55);//适用于非中断模式
  302. //i2c_data = I2C_Read(0x2d);//适用于非中断模式
  303. //printf("data:%xrn",i2c_data);
  304. //I2C_Write(0x2d,0xaa);//适用于非中断模式
  305. //i2c_data = I2C_Read(0x2d);//适用于非中断模式
  306. //printf("data:%xrn",i2c_data);
  307. //I2C_Write_IT(0x2d,0x55);//适用于中断模式
  308. ///---- Chapter 13 SPI test --------------------------------------------------------------------------------
  309. //SPI1 Test
  310. //SPI_Transceive(SPI1,sTxpack,sRxpack,10);//非中断模式
  311. //SPI1_RW_reg(WRITE_REG+0x05,0x53);//读写Si24R1寄存器
  312. //REG_Data = SPI1_RW_reg(READ_REG+0x05,0);//读写Si24R1寄存器
  313. //printf("rnREG5:%02x",REG_Data);
  314. //delay16M_ms(500);
  315. //SPI2 Test
  316. //SPI_Transceive(SPI2,sTxpack,sRxpack,10);//非中断模式
  317. //SPI2_RW_reg(WRITE_REG+0x05,0x53);//读写Si24R1寄存器
  318. //REG_Data = SPI2_RW_reg(READ_REG+0x05,0);//读写Si24R1寄存器
  319. //printf("rnREG5:%02x",REG_Data);
  320. //delay16M_ms(500);
  321. ///---- Chapter 15 UART Test ------------------------------------------------------------------------------------
  322. //---- 非中断模式数据回环测试 -------------------------------------------------------------------------------------
  323. //Uart_Reveive(UART1,upack1,10);//适用于非中断发送模式
  324. //Uart_Send(UART1,upack1,10);//适用于非中断发送模式
  325. //Uart_Reveive(UART2,upack2,10);//适用于非中断发送模式
  326. //Uart_Send(UART2,upack2,10);//适用于非中断发送模式
  327. //Uart_Reveive(UART3,upack3,10);//适用于非中断发送模式
  328. //Uart_Send(UART3,upack3,10);//适用于非中断发送模式
  329. //Uart_Reveive(UART4,upack4,10);//适用于非中断发送模式
  330. //Uart_Send(UART4,upack4,10);//适用于非中断发送模式
  331. //---- 中断模式数据回环测试 --------------------------------------------------------------------------------------
  332. //UART1_putbuf(UART1_getbuf());
  333. //---- printf测试 ----------------------------------------------------------------------------------------
  334. //printf("Hellow-01234568789abcdefghijklmnopqrstuvwxyzrn");
  335. ///---- Chapter 17 RANDGEN test -----------------------------------------------------------------------------
  336. //rand_data = RAND_Get();//生成随机数
  337. //printf("rand:0x%08x,%urn",rand_data,rand_data);
  338. //delay16M_ms(500);
  339. ///---- Chapter 18 COMPARE test -----------------------------------------------------------------------------
  340. //if(COMP1->irq&0x1)
  341. //{
  342. //GPIO_Toggle(GPIOA,PIN15);
  343. //COMP1->irq = 1;
  344. //}
  345. //delay16M_ms(10);
  346. }
  347. return 0;
  348. }
复制代码


poYBAGIDXEWAeTSyAAJsoboURyY831.png

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

    浏览量

    786
  • CSM32RV20
    +关注

    关注

    0

    文章

    40

    浏览量

    231
收藏 人收藏

    评论

    相关推荐

    有奖丨米尔 全志T536开发板免费试用

    米尔与全志合作发布的新品基于全志T536应用处理器的MYD-LT536-GK开发板免费试用活动来啦~~米尔提供了3块价值750元的MYD-LT536-GK开发板发起试用活动您不仅可以免
    的头像 发表于 12-26 08:05 162次阅读
    有奖丨米尔 全志T536<b class='flag-5'>开发板</b>免费<b class='flag-5'>试用</b>

    瑞芯平台Android系统串口测试方法,触觉智能RK3562开发板演示

    瑞芯方案主板Android系统串口测试方法,通用RK3568、RK3566、RK3588、RK3576等。触觉智能RK3562开发板演示
    的头像 发表于 12-24 11:51 293次阅读
    瑞芯<b class='flag-5'>微</b>平台Android系统<b class='flag-5'>串口</b>测试方法,触觉智能RK3562<b class='flag-5'>开发板</b>演示

    【敏矽ME32G070开发板免费体验】\\+Lora通信终端产品开发项目

    需求评估产品性能。 一.开发板申请之路—听我娓娓道来 2024年11月19日早,电子发烧友论坛信公众号发文,标题为《新品体验!敏矽ME32G070开发板免费
    发表于 12-15 18:26

    追加名额丨米尔瑞芯RK3576开发板有奖试用

    米尔与瑞芯合作发布的新品基于瑞芯RK3576应用处理器的MYD-LR3576开发板免费试用活动加码啦~~米尔追加了2块价值849元的MYD-LR3576
    的头像 发表于 11-22 01:00 217次阅读
    追加名额丨米尔瑞芯<b class='flag-5'>微</b>RK3576<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>

    【RA8D1试用活动】RA8D1B-CPKCOR开发板移植linux

    【RA8D1试用活动】RA8D1B-CPKCOR开发板移植linux
    的头像 发表于 11-16 01:02 275次阅读
    【RA8D<b class='flag-5'>1</b><b class='flag-5'>试用</b>活动】RA8D<b class='flag-5'>1</b>B-CPKCOR<b class='flag-5'>开发板</b>移植linux

    常用在工业控制系统上的MCU芯片资料:CSM32RV20

    CSM32RV20是一款基于RISC-V核的低功耗MCU芯片。 内置RISC-V RV32IMAC内核(2.6CoreMark/MHz); 蕞高32MHz工作频率; 内置4kB的SRAM; 内置8B
    的头像 发表于 11-15 17:19 263次阅读
    常用在工业控制系统上的MCU芯片资料:<b class='flag-5'>CSM32RV20</b>

    有奖丨米尔 瑞芯RK3576开发板免费试用

    米尔与瑞芯合作发布的新品基于瑞芯RK3576应用处理器的MYD-LR3576开发板免费试用活动来啦~~米尔提供了7块价值849元的MYD-LR3576
    的头像 发表于 11-12 01:00 358次阅读
    有奖丨米尔 瑞芯<b class='flag-5'>微</b>RK3576<b class='flag-5'>开发板</b>免费<b class='flag-5'>试用</b>

    有奖试用!!RA-Eco-RA4E2-64PIN-V1.0开发板试用活动开始报名

    有奖试用!!RA-Eco-RA4E2-64PIN-V1.0开发板试用活动开始报名
    的头像 发表于 11-09 01:02 287次阅读
    有奖<b class='flag-5'>试用</b>!!RA-Eco-RA4E2-64PIN-V1.0<b class='flag-5'>开发板</b><b class='flag-5'>试用</b>活动开始报名

    【RA-Eco-RA0E1-32PIN-V1.0开发板试用】点灯

    RA0E1开发板试用报告 试用单位 : 个人开发板 : RA0E1 一、背景 很荣幸获得由电子发
    发表于 09-24 11:54

    【龙芯2K0300蜂鸟试用】龙芯2K0300蜂鸟开发板引脚定义及体验开发板

    ospeed 9600 1 读取串口数据 cat /dev/ttyS1 以上内容希望为想了解这块开发板的朋友有所帮助。
    发表于 09-19 18:54

    【作品合集】龙芯2K0300蜂鸟开发板试用精选

    试用】龙芯2K0300蜂鸟开发板GPIO的驱动及使用 【龙芯2K0300蜂鸟试用】初了解龙芯2K0300蜂鸟
    发表于 09-10 18:17

    【龙芯2K0300蜂鸟试用试用开箱体验及调试

    口: 试用开发板实物及配件如下: 龙芯2K0300蜂鸟 * 1 主播电池 * 1 USBTypec线 *
    发表于 09-08 12:08

    【龙芯2K0300蜂鸟试用】+龙芯2K0300蜂鸟开发板快速上手

    1. 前言 我非常感激社区和官方提供的这次开发板试用机会。这是一个难得的学习和实践的机遇,尤其是在我对于这种新型架构一直抱有浓厚兴趣却未曾深入了解的情况下。我带着一颗好奇和探索的心,准备投身于这个
    发表于 08-04 14:19

    点击参与米尔NXP i.MX 93开发板有奖试用

    米尔与NXP合作发布的新品基于NXPi.MX93应用处理器的MYD-LMX9X开发板免费试用活动来啦~~米尔提供了3块价值678元的MYD-LMX9X开发板发起试用活动您不仅可以免费体
    的头像 发表于 06-13 08:02 571次阅读
    点击参与米尔NXP i.MX 93<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>

    免费!NXP i.MX 93开发板有奖试用

    米尔与NXP合作发布的新品基于NXPi.MX93应用处理器的MYD-LMX9X开发板免费试用活动来啦~~米尔提供了2块价值678
    的头像 发表于 05-23 08:01 752次阅读
    免费!NXP i.MX 93<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>