Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
FreqConv.cpp@0:f69d3c64978d, 2014-07-28 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Mon Jul 28 07:30:22 2014 +0000
- Revision:
- 0:f69d3c64978d
- Child:
- 1:d8449dbcde02
ver.1
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| MikamiUitOpen | 0:f69d3c64978d | 1 | //-------------------------------------------------------------- |
| MikamiUitOpen | 0:f69d3c64978d | 2 | // Frequency converter for Open Campus |
| MikamiUitOpen | 0:f69d3c64978d | 3 | // Copyright (c) 2014 MIKAMI, Naoki, 2014/06/23 |
| MikamiUitOpen | 0:f69d3c64978d | 4 | //-------------------------------------------------------------- |
| MikamiUitOpen | 0:f69d3c64978d | 5 | |
| MikamiUitOpen | 0:f69d3c64978d | 6 | #include "mbed.h" |
| MikamiUitOpen | 0:f69d3c64978d | 7 | #include "AdcInternal.hpp" |
| MikamiUitOpen | 0:f69d3c64978d | 8 | #include "MCP4921.hpp" |
| MikamiUitOpen | 0:f69d3c64978d | 9 | #include "FrequencyConverter.hpp" |
| MikamiUitOpen | 0:f69d3c64978d | 10 | |
| MikamiUitOpen | 0:f69d3c64978d | 11 | using namespace Mikami; |
| MikamiUitOpen | 0:f69d3c64978d | 12 | |
| MikamiUitOpen | 0:f69d3c64978d | 13 | const float FS_ = 10.0e3f; |
| MikamiUitOpen | 0:f69d3c64978d | 14 | Adc adc_(A0); |
| MikamiUitOpen | 0:f69d3c64978d | 15 | DacMCP4921 dac_; |
| MikamiUitOpen | 0:f69d3c64978d | 16 | |
| MikamiUitOpen | 0:f69d3c64978d | 17 | Ticker timer_; // for timer interrupt |
| MikamiUitOpen | 0:f69d3c64978d | 18 | |
| MikamiUitOpen | 0:f69d3c64978d | 19 | //**********************************************// |
| MikamiUitOpen | 0:f69d3c64978d | 20 | // Change parameters, "100.0f", ex. "-100.0f" |
| MikamiUitOpen | 0:f69d3c64978d | 21 | FrqConvSystem myFrqConv_(100.0f, FS_); |
| MikamiUitOpen | 0:f69d3c64978d | 22 | //**********************************************// |
| MikamiUitOpen | 0:f69d3c64978d | 23 | |
| MikamiUitOpen | 0:f69d3c64978d | 24 | void TimerIsr() |
| MikamiUitOpen | 0:f69d3c64978d | 25 | { |
| MikamiUitOpen | 0:f69d3c64978d | 26 | // float yI, yQ, cosx, sinx; |
| MikamiUitOpen | 0:f69d3c64978d | 27 | |
| MikamiUitOpen | 0:f69d3c64978d | 28 | float xn = adc_.Read(); // input |
| MikamiUitOpen | 0:f69d3c64978d | 29 | float yn = myFrqConv_.Execute(xn); |
| MikamiUitOpen | 0:f69d3c64978d | 30 | dac_.Write(yn); // output |
| MikamiUitOpen | 0:f69d3c64978d | 31 | } |
| MikamiUitOpen | 0:f69d3c64978d | 32 | |
| MikamiUitOpen | 0:f69d3c64978d | 33 | int main() |
| MikamiUitOpen | 0:f69d3c64978d | 34 | { |
| MikamiUitOpen | 0:f69d3c64978d | 35 | timer_.attach_us(&TimerIsr, 1.0e6f/FS_); |
| MikamiUitOpen | 0:f69d3c64978d | 36 | while (true) {} // infinite loop |
| MikamiUitOpen | 0:f69d3c64978d | 37 | } |
| MikamiUitOpen | 0:f69d3c64978d | 38 |