Hi Neil,
KDS = Kinetis Design Studio which is eclipse based IDE and uses ARM GNU GCC compiler tools.
KSDK = Kinetis Software Development Kit.....it has the static peripheral software to access the Kinetis on-chip peripherals at low and high levels.
PE (Processor Expert) is integrated into KDS. It is a GUI based initialization tools. In general it will be used to generate configuration information to be used with the KSDK peripheral software. PE does have some legacy support for a few devices and in those cases the KSDK is not being used.
PEX is a standalone version of the PE.
When using PE to configure your GPIO pin, after you configure components, then generate the code, in your Generated_Code folder you should have a file that has the code to initialize the pin.
My test code was based on KDS_3.0, KSDK_1.2, PE....I added a fsl_gpio Component and configured the PTB1 to first have pull resistor enabled and had it configured for pull-down. The generated code looks like:
const gpio_input_pin_user_config_t gpio1_InpConfig0[] = {
{
.pinName = B77,
.config.isPullEnable = true,
.config.pullSelect = kPortPullDown,
.config.isPassiveFilterEnabled = true,
.config.isDigitalFilterEnabled = true,
.config.interrupt = kPortIntDisabled
},
{
.pinName = ptb1_test,
.config.isPullEnable = true, <- Pull enabled
.config.pullSelect = kPortPullDown,
.config.isPassiveFilterEnabled = true,
.config.isDigitalFilterEnabled = true,
.config.interrupt = kPortIntDisabled
},
{
.pinName = GPIO_PINS_OUT_OF_RANGE,
}
};
Then when I disable the pull resistor (the PE terminology is Pull enable) the code changes to following:
const gpio_input_pin_user_config_t gpio1_InpConfig0[] = {
{
.pinName = B77,
.config.isPullEnable = true,
.config.pullSelect = kPortPullDown,
.config.isPassiveFilterEnabled = true,
.config.isDigitalFilterEnabled = true,
.config.interrupt = kPortIntDisabled
},
{
.pinName = ptb1_test,
.config.isPullEnable = false, <- Pull disabled
.config.pullSelect = kPortPullDown,
.config.isPassiveFilterEnabled = true,
.config.isDigitalFilterEnabled = true,
.config.interrupt = kPortIntDisabled
},
{
.pinName = GPIO_PINS_OUT_OF_RANGE,
}
};
Adrian was asking you what Kinetis device you are using? Example: K60.
If you are using a Freedom or Tower board please mention it specifically as it allows others to help you more easily.
Regards,
David