aboutsummaryrefslogtreecommitdiffstats
path: root/testhal/STM32
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2015-05-02 20:26:17 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2015-05-02 20:26:17 +0000
commitb2431579e414f837add230e540af226a73ddc8ab (patch)
tree7183539f8effe30b104a7543f313dc53bb181c1d /testhal/STM32
parent0b7c0f050c5ad42a55fc3635d6ae44bda5bfe049 (diff)
downloadChibiOS-b2431579e414f837add230e540af226a73ddc8ab.tar.gz
ChibiOS-b2431579e414f837add230e540af226a73ddc8ab.tar.bz2
ChibiOS-b2431579e414f837add230e540af226a73ddc8ab.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7938 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'testhal/STM32')
-rw-r--r--testhal/STM32/STM32F4xx/DAC/main.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/testhal/STM32/STM32F4xx/DAC/main.c b/testhal/STM32/STM32F4xx/DAC/main.c
index d35d42b83..469132559 100644
--- a/testhal/STM32/STM32F4xx/DAC/main.c
+++ b/testhal/STM32/STM32F4xx/DAC/main.c
@@ -58,17 +58,22 @@ static const dacsample_t dac_buffer[DAC_BUFFER_SIZE] = {
/*
* DAC streaming callback.
*/
-size_t nx = 0, ny = 0;
+size_t nx = 0, ny = 0, nz = 0;
static void end_cb1(DACDriver *dacp, const dacsample_t *buffer, size_t n) {
(void)dacp;
+ nz++;
if (dac_buffer == buffer) {
nx += n;
}
else {
ny += n;
}
+
+ if ((nz % 1000) == 0) {
+ palTogglePad(GPIOD, GPIOD_LED3);
+ }
}
/*
@@ -82,15 +87,17 @@ static void error_cb1(DACDriver *dacp, dacerror_t err) {
chSysHalt("DAC failure");
}
-static const DACConversionGroup daccfg1 = {
- num_channels: 1,
+static const DACConfig dac1cfg1 = {
+ datamode: DAC_DHRM_12BIT_RIGHT
+};
+
+static const DACConversionGroup dacgrpcfg1 = {
+ num_channels: 1U,
end_cb: end_cb1,
error_cb: error_cb1,
- datamode: DAC_DHRM_12BIT_RIGHT,
trigger: DAC_TRG(0)
};
-
/*
* GPT2 configuration.
*/
@@ -121,7 +128,7 @@ int main(void) {
* by the Reference Manual.
*/
palSetPadMode(GPIOA, 4, PAL_MODE_INPUT_ANALOG);
- dacStart(&DACD1, NULL);
+ dacStart(&DACD1, &dac1cfg1);
/*
* Starting GPT6 driver, it is used for triggering the DAC.
@@ -131,7 +138,7 @@ int main(void) {
/*
* Starting a continuous conversion.
*/
- dacStartConversion(&DACD1, &daccfg1, dac_buffer, DAC_BUFFER_SIZE);
+ dacStartConversion(&DACD1, &dacgrpcfg1, dac_buffer, DAC_BUFFER_SIZE);
gptStartContinuous(&GPTD6, 2U);
/*