Код нечитабелен, сплошные "магические числа".
Мой код 100% рабочий, возможно поможет.
Исходник, описание
регистров.
Возможно, адаптируете под свой код.
Навскидку, вижу разницу в 02H (у Вас прямой метод ввода частоты - бит 2 - зачем-то задействован), не вникал, с какого потолка берутся data_radio1 и data_radio2 (freq = 10120 = 101.2 МГц, у Вас, судя по всему, просто шаги по сетке, без привязки к частоте).
Также вижу разницу в 04H (не уверен, что на что-то влияет, но у Вас 2 бит - softmute enable - задействован). В остальных регистрах разницы не вижу, но сложно сказать, глядя на "магические числа", мог что-то и пропустить.
Советую взять гарантировано рабочую частоту, посчитать значение chan, жёстко положить его в 2 и 3 байты. Потому что Вы вполне можете плавать где-то в стороне от FM-диапазона. Вряд ли, но всё же.
В общем, сверьте свои данные с моими функциями rda5807Init() и rda5807SetFreq() - больше регистры, по сути, нигде и не используются, кроме управления громкостью.
Посылать все 12 байт по шине необязательно. В принципе, достаточно посылки 4-х байт, остальные оставить по умолчанию. Они нужны только если нужна регулировка громкости или RDS.
P.S. В связи с возникншим далее непониманием, речь в этом сообщении о
Код на СИ в CV AVR прилагается. Помогите-е-е-е!!! Пожалста-а-а-а!!!!!!