瑞萨RA系列单片机FSP框架不一般
先启用RASC创建一个图形化配置的工程,设置按钮P015为输入,并配置上拉电阻再启用P103和P104为输出模式
然后在entry函数完成以下内容
void hal_entry(void)
{
bsp_io_level_t button_stat;
uint32_t DELAY=500;
/* TODO: add your own code here */
while(1)
{
R_IOPORT_PinWrite (&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite (&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, BSP_IO_LEVEL_HIGH);
R_BSP_SoftwareDelay (DELAY, BSP_DELAY_UNITS_MILLISECONDS);
R_IOPORT_PinWrite (&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_HIGH);
R_IOPORT_PinWrite (&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, BSP_IO_LEVEL_LOW);
R_BSP_SoftwareDelay (DELAY, BSP_DELAY_UNITS_MILLISECONDS);
R_IOPORT_PinRead (&g_ioport_ctrl, BSP_IO_PORT_00_PIN_15, &button_stat);
if(button_stat==BSP_IO_LEVEL_LOW)
{
while(button_stat==BSP_IO_LEVEL_LOW){R_IOPORT_PinRead (&g_ioport_ctrl, BSP_IO_PORT_00_PIN_15, &button_stat);}
DELAY=DELAY/2;
if(DELAY<=2) DELAY=500;
}
}
#if BSP_TZ_SECURE_BUILD
/* Enter non-secure code */
R_BSP_NonSecureEnter();
#endif
}我们看,这个PIN读取函数的返回值并非是IO的状态,你需要创建一个变量来存储这个状态,每次执行读取,就将这个状态存储的地址给这个读取函数,它读出来就放到你这个变量里。。。这跟其他厂家的比,感觉有点不习惯啊。
最后奉上这个工程文件
哈哈,习惯就好,我开始用也是感觉很别扭…… 我们平常用的是美系的芯片,这个是日系的芯片,不习惯很正常。 xyz549040622 发表于 2021-9-24 14:11
我们平常用的是美系的芯片,这个是日系的芯片,不习惯很正常。
是的,日本的软件设计的框架跟美帝截然相反。另外国产的(含台系)是另外一种类美系风格,但是更友好。
所以我猜,日本是为了防着美帝,日本有朝一日要干翻美国。。到时候美国鬼子看不懂日本鬼子写的代码。邻国中俄也看不太懂他们的代码,这应该就是他们软件框架设计这么逆天的原因。 我只关心高老板打算卖几毛钱 xiaosun 发表于 2021-9-27 10:27
我只关心高老板打算卖几毛钱
卖啥啊,开发板吗,不卖,我就一个。
页:
[1]