📄 总结.txt
字号:
********************************************
此次任务就是用一个gpio作为中断,点亮另一个gpio。基于开发板上空出的gpio有gpio9,10,13,14。
所以决定用gpio9作中断,把gpio10点亮。
可之前,我对中断,真的是一片茫然,无从下手。看了好多书,查了好多网页,还是没有头绪。于是
就问了一下胡师兄。他提醒说首先要把gpio设置成中断才能用和看一下AU1200数据手册中关于中断的
那部分。于是,我就去看AU1200数据手册。一看,明白多了。需要设置好多寄存器。可我看了一下其它
程序,没见到有关中断方面的寄存器设置。于是又问了一下胡师兄。他说这就说明这些中断已经在其它地方设置过了。
也就是要找到相关的设置,然后调用就行。可这叫我去哪找呢?又去找什么呢?目标很不明确。还好韩师姐经过,
刚好可以问一下她。她给了我原先胡师兄给她的一些资料。我看了一下源程序,没有设置,只有调用。查看一下调用,
原来au1000.h里面已经定义了好多中断,直接用就行。当编完编译运行后,却报错说申请不到该中断。问一下师姐,她说
那个中断只是个中断号,还有出发模式等没有定义。于是经过苦苦寻找,在au1xxx.h里面找到。添加相关设置后,
编译,没报错了。
要注意地方:1,因为是在开发板上跑,所以要交叉编译后才能用。
2,板子上的这几个gpio初始化是拉高的,所以中断要用下降沿触发或低电平触发。
犯错的地方:1,没有交叉编译,开始!
2,ioctl没有返回值。
3,PRINTK书写错误!
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -