/这是一个简单的用户程序与驱动交互的例程/
void main(void)
{
int testdev;
int i;
char buf[10];
/ 这里是用的open系统调用,是linux内核接口函数,不是库函数,返回fd,详细请google ,这个open最终会调用驱动中的open函数(代码流程是这样的open()->sys_open()->filp_open()->dentry_open()->驱动open)/
testdev = open ("/dev/test",O_RDWR);
if(testdev == -1)
{
printf("Cann't open file/n");
exit(0);
}
printf("buf = 0x%x/n",buf);
/ 下面的read write 和ioctl是用户程序和内核驱动的最直接的交互方式 /
read(testdev,buf,10);
write(testdev,buf,1);
led_ctlport='G';
led_ctlbit=5;
led_ctlvalue=0;
ioctl(testdev,GPIO_IO_SET_GPG,&led_ctl);
printf("%s",buf);
pause();
close(testdev);打开stm32f10xh,把#include "stm32f10x_spih"使能,就可以了。
stm32f10x_spih这个库里你需要的函数都有,别忘了使能时钟和配置引脚
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)