-
gd32h759使用OSPI四线通信获取adc模块的值 sos
该怎么使用OSPI技术,根据flah那种改的感觉不对,读到的值一直与示波器获取的波形对不起来。 [color=#cccccc][backcolor=rgb(31, 31, 31)][font=Consolas, "] [color=#569cd6]void[/color] [color=#dcdcaa]ad7380_read[/color]([color=#569cd6]uint8_t[/color] [color=#d4d4d4]*[/color][color=#9cdcfe]pdata[/color], ospi_parameter_struct [color=#d4d4d4]*[/color][color=#9cdcfe]ospi_struct[/color]) { ospi_regular_cmd_struct cmd [color=#d4d4d4]=[/color] {[color=#b5cea8]0[/color]}; [color=#9cdcfe]cmd[/color].[color=#9cdcfe]operation_type[/color] [color=#d4d4d4]=[/color] OSPI_OPTYPE_COMMON_CFG;[color=#6a9955]//间接模式或自动轮询[/color] [color=#6a9955]// cmd.instruction = 0x00;[/color] [color=#9cdcfe]cmd[/color].[color=#9cdcfe]ins_size[/color] [color=#d4d4d4]=[/color] OSPI_INSTRUCTION_16_BITS; [color=#9cdcfe]cmd[/color].[color=#9cdcfe]ins_mode[/color] [color=#d4d4d4]=[/color] OSPI_INSTRUCTION_1_LINE; [color=#6a9955]// cmd.ins_mode = OSPI_INSTRUCTION_NONE;//clk就不执行了,不能无指令?[/color] [color=#9cdcfe]cmd[/color].[color=#9cdcfe]addr_mode[/color] [color=#d4d4d4]=[/color] OSPI_ADDRESS_NONE; [color=#9cdcfe]cmd[/color].[color=#9cdcfe]alter_bytes_mode[/color] [color=#d4d4d4]=[/color] OSPI_ALTERNATE_BYTES_NONE;[color=#6a9955]// 无地址,无备用字节[/color] [color=#9cdcfe]cmd[/color].[color=#9cdcfe]data_mode[/color] [color=#d4d4d4]=[/color] OSPI_DATA_4_LINES;[color=#6a9955] // 固定[/color] [color=#9cdcfe]cmd[/color].[color=#9cdcfe]nbdata[/color] [color=#d4d4d4]=[/color] [color=#b5cea8]8[/color];[color=#6a9955] //读取8字节(4个通道 x 2字节)|16 bit :AD7380 每个通道数据是 16 位(2 字节),读取 4 个通道的数据,共需要 8 字节(4 * 2 字节)。[/color] [color=#9cdcfe]cmd[/color].[color=#9cdcfe]dummy_cycles[/color] [color=#d4d4d4]=[/color] OSPI_DUMYC_CYCLES_0;[color=#6a9955]// 当OSPI工作在2线、4线或者8线模式下从外部存储器中接收数据时,至少设置一个空指令周期,以确保数据的正确接收。[/color] [color=#9cdcfe]cmd[/color].[color=#9cdcfe]data_dtr_mode[/color] [color=#d4d4d4]=[/color] OSPI_DADTR_MODE_DISABLE; [color=#dcdcaa]ospi_command_config[/color](OSPI0, ospi_struct, [color=#d4d4d4]&[/color]cmd); [color=#6a9955]//进入间接读模式 [/color] [color=#dcdcaa]ospi_functional_mode_config[/color](OSPI0, OSPI_INDIRECT_READ); [color=#dcdcaa]ospi_receive[/color](OSPI0,pdata); [color=#6a9955]//增加延时,确保 AD7380 完成数据采样 [/color] [color=#dcdcaa]rt_kprintf[/color]([color=#ce9178]"AD7380 reading ...[/color][color=#d7ba7d]\n\r[/color][color=#ce9178]"[/color]); [color=#c586c0]while[/color]([color=#dcdcaa]ospi_flag_get[/color](OSPI0, OSPI_FLAG_BUSY));[color=#6a9955] // 等待读取完成[/color] [/font][/backcolor][/color]
822浏览量 0回复量 关注量 -
hc32f420单片机的adc有两个,具体对应哪些引脚? sos
[i=s] 本帖最后由 tyw 于 2024-8-14 13:29 编辑 [/i] 在数据手册里面只写了引脚对应通道数,没写引脚对应adcx,还是说两个adc模块用的都是同一个引脚 [attach]2286304[/attach] [attach]2286310[/attach] [size=2][color=#ffffff][backcolor=purple] tyw 注[/backcolor][/color][/size]
1538浏览量 0回复量 关注量 -
LKS_07系列的ADC模块初始化 sos
[size=14px]LKS32_07x的ADC初始化模块中,为什么没有ADC时钟选择以及采样周期选择啊,有没有大佬告诉一下,怎么在07系列中配置ADC模块的时钟周期[/size]
1212浏览量 0回复量 关注量

问答