11.8.1.1.3 Workflow
- Create an OPAMP0 configuration struct, which can be filled out to adjust the configuration of OPAMP0.
structopamp0_config conf; - Initialize the OPAMP module.
opamp_module_init(); - Initialize the OPAMP0 configuration struct with the module's default values.
opamp0_get_config_defaults(&conf);Note: This should always be performed before using the configuration struct to ensure that all values are initialized to known default settings. - Adjust the configuration struct to set the OPAMP0 as "Non-Inverting PGA" mode.
conf.negative_input = OPAMP0_NEG_MUX_TAP0;conf.positive_input = OPAMP0_POS_MUX_PIN0;conf.r1_connection = OPAMP0_RES1_MUX_GND;conf.config_common.r1_enable =true;conf.config_common.r2_out =true;Note: The existing configuration struct may be re-used, as long as any values that have been altered from the default settings are taken into account by the user application. - Set up OA0POS pin and OA0OUT pin.
structsystem_pinmux_config opamp0_pos_pin_conf;system_pinmux_get_config_defaults(&opamp0_pos_pin_conf);opamp0_pos_pin_conf.direction = SYSTEM_PINMUX_PIN_DIR_INPUT;opamp0_pos_pin_conf.mux_position = MUX_PA06B_OPAMP_OAPOS0;system_pinmux_pin_set_config(PIN_PA06B_OPAMP_OAPOS0, &opamp0_pos_pin_conf);structsystem_pinmux_config opamp0_out_pin_conf;system_pinmux_get_config_defaults(&opamp0_out_pin_conf);opamp0_out_pin_conf.direction = SYSTEM_PINMUX_PIN_DIR_OUTPUT;opamp0_out_pin_conf.mux_position = MUX_PA07B_OPAMP_OAOUT0;system_pinmux_pin_set_config(PIN_PA07B_OPAMP_OAOUT0, &opamp0_out_pin_conf); - Write OPAMP0 configuration to the hardware module.
opamp0_set_config(&conf); - Enable OPAMP0.
opamp_enable(OPAMP_0); - Wait for the output ready.
while(!opamp_is_ready(OPAMP_0));
