大学学C语言的第一课就是Print “Hello World!”,对于单片机第一课应该点亮第一个LED灯。
(瑞萨CS+界面操作可以参考网上众多资料,本系列就不展开详讲,若在运用过程需要格外操作就补充进行说明!)
Step1 确认芯片型号&PIN 角
通过查阅开发板的原理图,可知道哪些PIN角连接LED灯,然后配置芯片PIN角的高低电平实现LED的开关。此文假设P8.8和P8.9连接LED灯,当PIN角为低电平时LED亮起。
Step2 创建一个全新的项目
根据芯片进行选择和自定义存储位置(注意:存储位置不能出现中文路径)。
Step3 配置编译环境
参考https://blog.csdn.net/qq_20910445/article/details/130209075?spm=1001.2014.3001.5502
Step4 根据芯片手册确认配置方式
1)设置引脚的功能为GPIO输出模式;
2)将P8.8引脚输出低电平
注:市面上较为常用的STM32芯片,需要先进行GPIO使能,但RH850 F1KM芯片的GPIO口默认是使能,无需额外使能端口时钟。
下述是C语言代码示例:
#include "iodefine.h"
//-----------------------------------------main()----------------------------//
void main(void)
{
Init_port();
while(1u)
{
/*P8.8 设置为低电平*/
PORT.P8&=~(1<<8);
/*P8.9 设置为低电平*/
PORT.P8&=~(1<<9);
/*P8.8 和P8.9设置为低电平*/
//PORT.P8&=~(3<<9);
}
}
//------------------------------------------Init_port()----------------------//
Init_port()
{
/*配置P8.8、P8.9为输出模式*/
PORT.PM8&=~(3<<8);
/*默认是低电平,P8.8和P8.9需要置1,若无此条,上电后P8.8和P8.9的LED均会亮起*/
PORT.P8|=(3<<8);
}
注1: 如果用#include <iodefine.h> 定义头文件,CS+会报错,需要在build options—compiler进行配置,详细参考https://blog.csdn.net/laifengyuan1/article/details/123066693#%E9%97%AE%E9%A2%981%EF%BC%9A%E7%BC%96%E8%AF%91%E6%98%BE%E7%A4%BA%E6%89%BE%E4%B8%8D%E5%88%B0%22iodefinh%22
注2:<>和""区别
#include<>一般用于包含系统头文件,诸如stdlib.h、stdio.h、iostream等;
#include""一般用于包含自定义头文件,比如我们自定义的test.h、declare.h等。
注3:PORT.P8和PORT.PM8都是在iodefine.h进行定义,可直接调用,无需重新定义。
注4:瑞萨寄存器对于位的操作较为复杂,需要用到较多的位运算,关于位运算的说明可以参考:
https://www.runoob.com/w3cnote/bit-operation.html
以本文代码PM8 &= ~(3<<8)为例:
1)~(3<<8):将11b左移8位(二进制数为0000001100000000b),然后对其取按位非,得到二进制数1111110011111111b,表示将第八位变为0(从0位算起)。
2)PM8 &= ~(3<<8):将PM8寄存器中的值与1111110011111111b按位与,即可将第八位和第九位变为0,同时保留其他位不变。