There isn't 16 bits of data to read, so the adc_RES parameter will have to be adjusted after you shift in the data.
Even if you change it to not read 16-bits you should mask out the first few bits read since they are undefined.
See section 6.1 in the MCP3201 datasheet.
Bookmarks