-
gd32f470zit6ADC采集电压后与实际电压相差25%,求帮助
代码如下 [align=left][color=#f0c000]void ADC_init(void)[/color][/align][align=left][color=#f0c000]{[/color][/align][align=left][color=#f0c000] // 1. 使能时钟[/color][/align][align=left][color=#f0c000] rcu_periph_clock_enable(RCU_GPIOF);[/color][/align][align=left][color=#f0c000] rcu_periph_clock_enable(RCU_ADC2);[/color][/align][align=left][color=#f0c000] adc_clock_config(ADC_ADCCK_PCLK2_DIV8);[/color][/align][align=left][color=#f0c000] // 2. 配置 为模拟输入[/color][/align][align=left][color=#f0c000] gpio_mode_set(GPIOF, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO_PIN_6);[/color][/align][align=left][color=#f0c000] // 3. 配置 ADC 基本参数[/color][/align][align=left][color=#f0c000] adc_sync_mode_config(ADC_SYNC_MODE_INDEPENDENT); // 独立模式[/color][/align][align=left][color=#f0c000] /* ADC contineous function disable */[/color][/align][align=left][color=#f0c000] adc_special_function_config(ADC2, ADC_CONTINUOUS_MODE, DISABLE); // 单次转换[/color][/align][align=left][color=#f0c000] /* ADC scan mode disable */[/color][/align][align=left][color=#f0c000] adc_special_function_config(ADC2, ADC_SCAN_MODE, DISABLE); // 不扫描[/color][/align][align=left][color=#f0c000] adc_resolution_config(ADC2, ADC_RESOLUTION_12B); // 12位分辨率[/color][/align][align=left][color=#f0c000] adc_data_alignment_config(ADC2, ADC_DATAALIGN_RIGHT); // 数据右对齐[/color][/align][align=left][color=#f0c000] adc_channel_length_config(ADC2, ADC_ROUTINE_CHANNEL, 1); // 单次转换通道数[/color][/align][align=left][color=#f0c000] adc_external_trigger_config(ADC2, ADC_ROUTINE_CHANNEL, EXTERNAL_TRIGGER_DISABLE); // 外部触发禁止[/color][/align][align=left][color=#f0c000] // 4. 设置采样时间和通道[/color][/align][align=left][color=#f0c000] adc_routine_channel_config(ADC2, 0, ADC_CHANNEL_4, ADC_SAMPLETIME_15); //// 配置ADC规则通道 [/color][/align][align=left][color=#f0c000] // 5. 启用 ADC 并校准[/color][/align][align=left][color=#f0c000] adc_enable(ADC2);[/color][/align][align=left][color=#f0c000] delay_2us(1000);[/color][/align][align=left][color=#f0c000] adc_calibration_enable(ADC2);[/color][/align][align=left][color=#f0c000]}[/color][/align][align=left][color=#f0c000] [/color][/align][align=left][color=#f0c000]uint16_t adc_channel_sample(void)[/color][/align][align=left][color=#f0c000]{[/color][/align][align=left][color=#f0c000] /* ADC software trigger enable */[/color][/align][align=left][color=#f0c000] adc_software_trigger_enable(ADC2, ADC_ROUTINE_CHANNEL);[/color][/align][align=left][color=#f0c000] /* wait the end of conversion flag */[/color][/align][align=left][color=#f0c000] while (!adc_flag_get(ADC2, ADC_FLAG_EOC));[/color][/align][align=left][color=#f0c000] /* clear the end of conversion flag */[/color][/align][align=left][color=#f0c000] adc_flag_clear(ADC2, ADC_FLAG_EOC);[/color][/align][align=left][color=#f0c000] /* return regular channel sample value */[/color][/align][align=left][color=#f0c000] return (adc_routine_data_read(ADC2));[/color][/align][align=left][color=#f0c000]}[/color][/align][align=left][color=#f0c000]uint16_t adc_channel_value(void)[/color][/align][align=left][color=#f0c000]{[/color][/align][align=left][color=#f0c000] uint32_t adc_value = 0;[/color][/align][align=left][color=#f0c000] uint32_t i = 0;[/color][/align][align=left][color=#f0c000] for (i = 0; i < 5; i++)[/color][/align][align=left][color=#f0c000] {[/color][/align][align=left][color=#f0c000] adc_value += adc_channel_sample();[/color][/align][align=left][color=#f0c000] }[/color][/align][align=left][color=#f0c000] return (adc_value / 5);[/color][/align][align=left][color=#f0c000]}[/color][/align][align=left][font=Consolas][size=4][color=#f0c000]转换[/color][/size][/font][/align][color=#cccccc][backcolor=rgb(31, 31, 31)][font=Consolas, "] ADC_value [color=#d4d4d4]=[/color] [color=#dcdcaa]adc_channel_value[/color](); adc[color=#d4d4d4]=[/color](([color=#569cd6]double[/color])(ADC_value[color=#d4d4d4]*[/color][color=#b5cea8]3.3[/color])[color=#d4d4d4]/[/color][color=#b5cea8]4096[/color]); [color=#dcdcaa]printf[/color]([color=#ce9178]"adc:[/color][color=#9cdcfe]%.2lf[/color][color=#ce9178]V VINSampledvalues:[/color][color=#9cdcfe]%d[/color][color=#d7ba7d]\r\n[/color][color=#ce9178]"[/color],adc,ADC_value); [/font][/backcolor][/color]
895浏览量 5回复量 关注量 -
有没有APM32F107RC以太网问题
开发板用的的是PD8、PD9、PD10复用引脚,我板子上用的是PA7、PC4、PC5不管怎么调就是不好使,确认PHY正常运行通过MDIO可以读取到PHY状态,以下是初始化代码:[color=#cccccc][backcolor=rgb(31, 31, 31)][font=Consolas, "][color=#569cd6]void[/color] [color=#dcdcaa]Ethernet_GPIOConfig[/color]([color=#569cd6]void[/color]) { [color=#4ec9b0]GPIO_Config_T[/color] [color=#9cdcfe]configStruct[/color]; [color=#6a9955] /*[/color] [color=#6a9955] * ETH_RESET# PB15[/color] [color=#6a9955] * ETH_INT PB14[/color] [color=#6a9955] * ETH_MDIO PA2[/color] [color=#6a9955] * ETH_MDC PC1[/color] [color=#6a9955] * ETH_MCO PA8[/color] [color=#6a9955] */[/color] [color=#6a9955] /* Enable GPIOs clocks */[/color] [color=#dcdcaa]RCM_EnableAPB2PeriphClock[/color]([color=#569cd6]ETH_MDC_GPIO_CLK[/color] [color=#d4d4d4]|[/color] [color=#569cd6]ETH_MDIO_GPIO_CLK[/color] [color=#d4d4d4]|[/color] [color=#569cd6]ETH_RESET_GPIO_CLK[/color] [color=#d4d4d4]|[/color] [color=#569cd6]ETH_INT_GPIO_CLK[/color] [color=#d4d4d4]|[/color] [color=#569cd6]ETH_MCO_GPIO_CLK[/color]); [color=#6a9955] /* Enable SYSCFG clock */[/color] [color=#dcdcaa]RCM_EnableAPB2PeriphClock[/color](RCM_APB2_PERIPH_AFIO); [color=#6a9955] /* Configure ETH_RESET# */[/color] [color=#dcdcaa]GPIO_ConfigStructInit[/color]([color=#d4d4d4]&[/color][color=#9cdcfe]configStruct[/color]); [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]pin[/color] [color=#d4d4d4]=[/color] [color=#569cd6]ETH_INT_PIN[/color]; [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]speed[/color] [color=#d4d4d4]=[/color] [color=#4fc1ff]GPIO_SPEED_50MHz[/color]; [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]mode[/color] [color=#d4d4d4]=[/color] [color=#4fc1ff]GPIO_MODE_OUT_PP[/color]; [color=#dcdcaa]GPIO_Config[/color]([color=#569cd6]ETH_RESET_PORT[/color], [color=#d4d4d4]&[/color][color=#9cdcfe]configStruct[/color]); [color=#6a9955] /* Configure ETH_MII_INT */[/color] [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]pin[/color] [color=#d4d4d4]=[/color] [color=#569cd6]ETH_INT_PIN[/color]; [color=#dcdcaa]GPIO_Config[/color]([color=#569cd6]ETH_INT_PORT[/color], [color=#d4d4d4]&[/color][color=#9cdcfe]configStruct[/color]); [color=#569cd6]ETH_INT_PIN_HIGH[/color](); [color=#6a9955] /* Configure ETH_MDC */[/color] [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]pin[/color] [color=#d4d4d4]=[/color] [color=#569cd6]ETH_MDC_PIN[/color]; [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]mode[/color] [color=#d4d4d4]=[/color] [color=#4fc1ff]GPIO_MODE_AF_PP[/color]; [color=#dcdcaa]GPIO_Config[/color]([color=#569cd6]ETH_MDC_PORT[/color], [color=#d4d4d4]&[/color][color=#9cdcfe]configStruct[/color]); [color=#6a9955] /* Configure ETH_MDIO */[/color] [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]pin[/color] [color=#d4d4d4]=[/color] [color=#569cd6]ETH_MDIO_PIN[/color]; [color=#dcdcaa]GPIO_Config[/color]([color=#569cd6]ETH_MDIO_PORT[/color], [color=#d4d4d4]&[/color][color=#9cdcfe]configStruct[/color]); [color=#6a9955] /* RESET ETH PHY */[/color] [color=#569cd6]ETH_RESET_PIN_LOW[/color](); [color=#dcdcaa]Ethernet_ResetDelay[/color]([color=#569cd6]DP83848_RESET_DELAY[/color]); [color=#569cd6]ETH_RESET_PIN_HIGH[/color](); [color=#dcdcaa]Ethernet_ResetDelay[/color]([color=#569cd6]DP83848_RESET_DELAY[/color]); [color=#6a9955] /* Configure PB10 ,PB11 ,PB12 ,PB13 as alternate function push-pull */[/color] [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]pin[/color] [color=#d4d4d4]=[/color] GPIO_PIN_11 [color=#d4d4d4]|[/color] GPIO_PIN_12 [color=#d4d4d4]|[/color] GPIO_PIN_13; [color=#dcdcaa]GPIO_Config[/color]([color=#569cd6]GPIOB[/color], [color=#d4d4d4]&[/color][color=#9cdcfe]configStruct[/color]); [color=#6a9955] /*[/color] [color=#6a9955] * ETH_RMII_REF_CLK PA1[/color] [color=#6a9955] * ETH_RMII_CRS_DV PD8->PA7[/color] [color=#6a9955] * ETH_RMII_RXD0 PD9->PC4[/color] [color=#6a9955] * ETH_RMII_RXD1 PD10->PC5[/color] [color=#6a9955] * ETH_RMII_TX_EN PB11[/color] [color=#6a9955] * ETH_RMII_TXD0 PB12[/color] [color=#6a9955] * ETH_RMII_TXD1 PB13[/color] [color=#6a9955] */[/color] [color=#6a9955] /* Enable GPIOs clocks */[/color] [color=#dcdcaa]RCM_EnableAPB2PeriphClock[/color](RCM_APB2_PERIPH_GPIOA [color=#d4d4d4]|[/color] RCM_APB2_PERIPH_GPIOB [color=#d4d4d4]|[/color] RCM_APB2_PERIPH_GPIOC [color=#d4d4d4]|[/color] RCM_APB2_PERIPH_GPIOD); [color=#6a9955] /* ETHERNET pins remapp in APM32107-MINI board: RX_DV and RxD[3:0] */[/color] [color=#6a9955]//GPIO_ConfigPinRemap(GPIO_REMAP_ETH_MAC);[/color] [color=#6a9955] /* Configure PA1 and PA3 as input */[/color] [color=#dcdcaa]GPIO_ConfigStructInit[/color]([color=#d4d4d4]&[/color][color=#9cdcfe]configStruct[/color]); [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]pin[/color] [color=#d4d4d4]=[/color] GPIO_PIN_1; [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]mode[/color] [color=#d4d4d4]=[/color] [color=#4fc1ff]GPIO_MODE_IN_FLOATING[/color]; [color=#dcdcaa]GPIO_Config[/color]([color=#569cd6]GPIOA[/color], [color=#d4d4d4]&[/color][color=#9cdcfe]configStruct[/color]); [color=#6a9955] /* Configure PA7, PC4, PC5 as input */[/color] [color=#dcdcaa]GPIO_ConfigStructInit[/color]([color=#d4d4d4]&[/color][color=#9cdcfe]configStruct[/color]); [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]pin[/color] [color=#d4d4d4]=[/color] GPIO_PIN_7; [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]mode[/color] [color=#d4d4d4]=[/color] [color=#4fc1ff]GPIO_MODE_IN_FLOATING[/color]; [color=#dcdcaa]GPIO_Config[/color]([color=#569cd6]GPIOA[/color], [color=#d4d4d4]&[/color][color=#9cdcfe]configStruct[/color]); [color=#dcdcaa]GPIO_ConfigStructInit[/color]([color=#d4d4d4]&[/color][color=#9cdcfe]configStruct[/color]); [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]pin[/color] [color=#d4d4d4]=[/color] GPIO_PIN_4; [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]mode[/color] [color=#d4d4d4]=[/color] [color=#4fc1ff]GPIO_MODE_IN_FLOATING[/color]; [color=#dcdcaa]GPIO_Config[/color]([color=#569cd6]GPIOC[/color], [color=#d4d4d4]&[/color][color=#9cdcfe]configStruct[/color]); [color=#dcdcaa]GPIO_ConfigStructInit[/color]([color=#d4d4d4]&[/color][color=#9cdcfe]configStruct[/color]); [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]pin[/color] [color=#d4d4d4]=[/color] GPIO_PIN_5; [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]mode[/color] [color=#d4d4d4]=[/color] [color=#4fc1ff]GPIO_MODE_IN_FLOATING[/color]; [color=#dcdcaa]GPIO_Config[/color]([color=#569cd6]GPIOC[/color], [color=#d4d4d4]&[/color][color=#9cdcfe]configStruct[/color]); [color=#6a9955] /* ETH and CAN shared PB8, RMII Mode PB8 Must be output low */[/color] [color=#dcdcaa]GPIO_ConfigStructInit[/color]([color=#d4d4d4]&[/color][color=#9cdcfe]configStruct[/color]); [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]pin[/color] [color=#d4d4d4]=[/color] GPIO_PIN_8; [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]mode[/color] [color=#d4d4d4]=[/color] [color=#4fc1ff]GPIO_MODE_OUT_PP[/color]; [color=#9cdcfe]configStruct[/color].[color=#9cdcfe]speed[/color] [color=#d4d4d4]=[/color] [color=#4fc1ff]GPIO_SPEED_50MHz[/color]; [color=#dcdcaa]GPIO_Config[/color]([color=#569cd6]GPIOB[/color], [color=#d4d4d4]&[/color][color=#9cdcfe]configStruct[/color]); [color=#dcdcaa]GPIO_ResetBit[/color]([color=#569cd6]GPIOB[/color], GPIO_PIN_8); [color=#dcdcaa]GPIO_ConfigPinRemap[/color](GPIO_REMAP_MACEISEL_RMII); } [/font][/backcolor][/color]
662浏览量 4回复量 关注量 -
GD32E51X的I2C2通道的通信速率如何设置 sos
目前开发I2C2的通信 看官方的SDK库demo里面对I2C2通信速率的配置如下:[color=#cccccc][backcolor=#1f1f1f][font=Consolas,][color=#6a9955] /* configure I2C timing */[/color] [color=#cccccc] [/color][color=#dcdcaa]i2c_timing_config[/color][color=#cccccc]([/color][color=#569cd6]I2C2[/color][color=#cccccc], [/color][color=#b5cea8]0[/color][color=#cccccc], [/color][color=#b5cea8]0x8[/color][color=#cccccc], [/color][color=#b5cea8]0[/color][color=#cccccc]);[/color] [color=#cccccc] [/color][color=#dcdcaa]i2c_master_clock_config[/color][color=#cccccc]([/color][color=#569cd6]I2C2[/color][color=#cccccc], [/color][color=#b5cea8]0x33[/color][color=#cccccc], [/color][color=#b5cea8]0xA8[/color][color=#cccccc]);[/color] 请问我如果要通过已知的目标通信速率(100-400khz) 如何实现通信速率的设置[/font][/backcolor][/color]
1133浏览量 0回复量 关注量 -
'begin(int, int, int)' is ambiguous Wire.begin(sda, scl, 100000); 赏3000家园币
'begin(int, int, int)' is ambiguous Wire.begin(sda, scl, 100000);这个报错,但是无法初始化iic的。
9587浏览量 3回复量 关注量 -
[求教] 有没有成功用USB的SOF校准CTC实现USB免晶振的? sos
网上找不到例子, 官方包里只有CTC_GPIO和CTC_LXTAL, 没有用USB_SOF的. 自己改了一下, rcu_periph_clock_enable (RCU_CTC); ctc_refsource_prescaler_config (CTC_REFSOURCE_PSC_DIV128); ctc_refsource_signal_select (CTC_REFSOURCE_USB_SOF); ctc_refsource_polarity_config (CTC_REFSOURCE_POLARITY_FALLING); ctc_hardware_trim_mode_config (CTC_HARDWARE_TRIM_MODE_ENABLE); ctc_counter_reload_value_config(127); ctc_clock_limit_value_config(2); ctc_counter_enable();结果一直也不成功. 哪位配成过的介绍一下?
1600浏览量 0回复量 关注量 -
BLDC霍尔
void timer_hall_mode_config(uint32_t timer_periph, uint32_t hallmode);官方库里的这个霍尔模式函数到底整体是怎么用的,也没看到什么例程,我现在不是用这个模式驱动的bldc,别的都没问题,但是我想要记录无刷电机的移动的行程,记录不准,所以我想这用这个模式是不是就能准,有大佬知道原因吗
1601浏览量 2回复量 关注量 -
请问APM32F417IGT6和STM32F417IGT6的区别 sos
1. APM32F417IGT6和STM32F417IGT6的区别就是APM32F417IGT6多了一个DMC么?2. 是否能在stm32cubemx中当作STM32F427IGT6用?
2172浏览量 0回复量 关注量 -
请教一下 HK32C030C8 Debug那一页怎么配啊,用J-link sos
想用逻辑分析仪捕捉GPIO信息,但是一直显示unkown signal,不知道是哪里的问题
1636浏览量 0回复量 关注量 -
PIC16(L)F1938/9 点灯程序不生效 sos
/* * File: main.c * Author: Administrator * */ #pragma config FOSC = INTOSC, WDTE = OFF, PWRTE = OFF, MCLRE = ON #include
void Delay_50us(unsigned int n) { unsigned char i; while (n--) { for (i = 0; i < 104; i++); } } void Delay_ms(unsigned int n) { while (n--) { Delay_50us(20); } } void main(void) { TRISCbits.TRISC0 = 0; LATCbits.LATC0 = 1; while (1) { LATCbits.LATC0 = 0; Delay_ms(500); LATCbits.LATC0 = 1; Delay_ms(500); } return; } 这个程序闪灯不生效 1038浏览量 0回复量 关注量 -
ModusToolbox™ 3.2 Dashboard工程生成错误
在生成工程时,出现如下错误: Opening project creator from C:/Users/XXX/ModusToolbox/tools_3.2/project-creator/project-creator.exe Project Creator Status: Project: Hello_World_1 Location: D:/Infineon/03/Hello_World_1 Status: failed Messages: [1]: [INFO] Log file= "C:/Users/XXX/AppData/Local/Temp/device-configurator-cli/device-configurator-cli-20240626.170103.333-14676.log" [2]: [INFO] Command line= "C:/Users/XXX/ModusToolbox/tools_3.2/device-configurator/device-configurator-cli.exe --build D:/Infineon/03/Hello_World_1/bsps/TARGET_APP_CYW920829M2EVK-02/config/design.modus --readonly" [3]: [INFO] Log file= "C:/Users/XXX/AppData/Local/Temp/hardware-config-server/hardware-config-server-20240626.170104.542-5352.log" [4]: [INFO] Command line= "C:/Users/XXX/ModusToolbox/tools_3.2/hardware-config-server/hardware-config-server.exe --config D:/Infineon/03/Hello_World_1/bsps/TARGET_APP_CYW920829M2EVK-02/config/design.modus" [5]: [INFO] Library paths: "D:/Infineon/03/mtb_shared/mtb-pdl-cat1/release-v3.10.1/props.json;C:/Users/XXX/.modustoolbox/global/device-db/release-v4.16.0/props.json" [6]: Error loading file. The design file was locked by another host. The file is locked by "闂佽法鍠愰弸濠氬箯閻戣姤鏅搁柡鍌樺�栫�氳瀵� [D:/Infineon/03/Hello_World_1/bsps/TARGET_APP_CYW920829M2EVK-02/config/design.modus] [7]: Failed to load 'D:/Infineon/03/Hello_World_1/bsps/TARGET_APP_CYW920829M2EVK-02/config/design.modus'. [8]: Failed to export the "Hello_World_1" application to Eclipse IDE for ModusToolbox闁筹拷 Unable to import the project: Hello_World_1. Try "Import Existing Application" from the quick-panel. If issues persist, retry project creator. No new/valid projects found.
3493浏览量 14回复量 关注量 -
GD32F103ZET6内部ADC2有没有
使用官方的库函数,ADC2根本无法初始化dma_parameter_struct dma_data_parameter; rcu_periph_clock_enable(RCU_GPIOF); rcu_periph_clock_enable(RCU_ADC2); rcu_periph_clock_enable(RCU_DMA1); /*配置PF*/ gpio_init(GPIOF, GPIO_MODE_AIN, GPIO_OSPEED_50MHZ, GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10); /* ADC DMA_channel configuration */ dma_deinit(DMA1, DMA_CH4); /* initialize DMA single data mode */ dma_data_parameter.periph_addr = (uint32_t)(&ADC_RDATA(ADC2)); dma_data_parameter.periph_inc = DMA_PERIPH_INCREASE_DISABLE; dma_data_parameter.memory_addr = (uint32_t)(&ADC2_ConvertedValue); dma_data_parameter.memory_inc = DMA_MEMORY_INCREASE_ENABLE; dma_data_parameter.periph_width = DMA_PERIPHERAL_WIDTH_16BIT; dma_data_parameter.memory_width = DMA_MEMORY_WIDTH_16BIT; dma_data_parameter.direction = DMA_PERIPHERAL_TO_MEMORY; dma_data_parameter.number = M1*N1; dma_data_parameter.priority = DMA_PRIORITY_HIGH; dma_init(DMA1, DMA_CH4, &dma_data_parameter); dma_circulation_enable(DMA1, DMA_CH4); /* enable DMA channel */ dma_channel_enable(DMA1, DMA_CH4); /*ADC配置*/ adc_deinit(ADC2); /* ADC mode config */ adc_mode_config(ADC_MODE_FREE); /* ADC contineous function enable */ adc_special_function_config(ADC2, ADC_CONTINUOUS_MODE, ENABLE); /* ADC scan mode disable */ adc_special_function_config(ADC2, ADC_SCAN_MODE, ENABLE); /* ADC data alignment config */ adc_data_alignment_config(ADC2, ADC_DATAALIGN_RIGHT); /* ADC channel length config */ adc_channel_length_config(ADC2, ADC_REGULAR_CHANNEL, M1); /*ADC0规则通道配置*/ adc_regular_channel_config(ADC2, 0, ADC_CHANNEL_7, ADC_SAMPLETIME_239POINT5); adc_regular_channel_config(ADC2, 1, ADC_CHANNEL_8, ADC_SAMPLETIME_239POINT5); adc_regular_channel_config(ADC2, 2, ADC_CHANNEL_6, ADC_SAMPLETIME_239POINT5); adc_regular_channel_config(ADC2, 3, ADC_CHANNEL_5, ADC_SAMPLETIME_239POINT5); /* ADC trigger config */ adc_external_trigger_source_config(ADC2, ADC_REGULAR_CHANNEL, ADC0_1_2_EXTTRIG_REGULAR_NONE); adc_external_trigger_config(ADC2, ADC_REGULAR_CHANNEL, ENABLE); /* enable ADC interface */ adc_enable(ADC2); delay_ms(1); /* ADC calibration and reset calibration */ adc_calibration_enable(ADC2); /* ADC DMA function enable */ adc_dma_mode_enable(ADC2); /* ADC software trigger enable */ adc_software_trigger_enable(ADC2, ADC_REGULAR_CHANNEL);
2892浏览量 18回复量 关注量 -
如何解决keil5编译但lcd12864显示汉字时乱码?求求了
[float=left][color=rgb(40, 40, 40)][backcolor=rgb(255, 255, 255)][font=微软雅黑, "][size=16px][color=rgb(47, 47, 47)][size=14px][align=left]这是部分代码:[/align][align=left]#include
[/align] [align=left]#define uchar unsigned char // 以后unsigned char就可以用uchar代替[/align][align=left]#define uint unsigned int // 以后unsigned int 就可以用uint 代替[/align] [align=left]sbit LcdRs_P = P2^0; // 液晶的RS管脚 [/align][align=left]sbit LcdRw_P = P2^1; // 液晶的RW管脚 [/align][align=left]sbit LcdEn_P = P2^2; // 液晶的EN管脚[/align] [align=left]// 毫秒级的延时函数,time是要延时的毫秒数[/align] [align=left]void DelayMs(uint time)[/align][align=left]{[/align][align=left] uint i,j;[/align][align=left] for(i=0;i 21394浏览量 21回复量 关注量 -
结构体按位对齐后的赋值
[i=s] 本帖最后由 slf123123 于 2021-4-19 09:13 编辑 [/i] [p=24, null, left][color=rgb(34, 34, 38)][backcolor=rgb(255, 255, 255)][font="]typedef unsigned long DWORD;[/font][/backcolor][/color][/p][p=24, null, left][color=rgb(34, 34, 38)][backcolor=rgb(255, 255, 255)][font="]#pragma pack(push) #pragma pack(1) typedef struct si { DWORD a:4; DWORD b:7; DWORD c:3; DWORD d:1; [/font][/backcolor][/color][/p][p=24, null, left][color=rgb(34, 34, 38)][backcolor=rgb(255, 255, 255)][font="] DWORD e:3; DWORD f:14; }si; #pragma pack(pop) [/font][/backcolor][/color][/p] [p=24, null, left][color=rgb(34, 34, 38)][backcolor=rgb(255, 255, 255)][font="] 如上所示这个结构体对齐后是四个字节[/font][/backcolor][/color][/p][p=24, null, left][color=rgb(34, 34, 38)][backcolor=rgb(255, 255, 255)][font="]然后[/font][/backcolor][/color][/p][p=24, null, left][color=rgb(34, 34, 38)][backcolor=rgb(255, 255, 255)][font="]uint8 buff[4];[/font][/backcolor][/color][/p][p=24, null, left][color=rgb(34, 34, 38)][backcolor=rgb(255, 255, 255)][font="]怎么将buff赋值给整个结构体[/font][/backcolor][/color][/p][p=24, null, left][color=rgb(34, 34, 38)][backcolor=rgb(255, 255, 255)][font="]struct si su={buff[0],buff[1],buff[2],buff[3]};[/font][/backcolor][/color][/p][p=24, null, left][color=rgb(34, 34, 38)][backcolor=rgb(255, 255, 255)][font="]这样赋值不行吗[/font][/backcolor][/color][/p]
3963浏览量 14回复量 关注量