实现两个LINEIN模式是之前的一个案子需求,现在我常用来给新人出题。
看过有人直接复制整个linein模式相关代码,这种方法又繁琐,又容易出错,其实不必这么麻烦,直接用一个标志位搞定,之所以给新人出这个题就是考察他对代码的理解,要会用简单的方法解决问题。
先复制inein信息的结构体改个名字,这样就得到一个新的模式:
再把新的linein模式信息添加到任务表里:
再把 task_linein2_info 用到的地方模仿 task_linein_info都复制一遍
再用标志位把linein通道初始化及用到的地方都区分开:
这样两个linein就做好了,如果是linein要用到AD通道的案子,再把相关的地方处理下就好