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.
Dependencies: mbed mbed-STM32F103C8T6
main.cpp@3:28f7d0d3d199, 2018-08-09 (annotated)
- Committer:
- RuslanUrya
- Date:
- Thu Aug 09 08:46:39 2018 +0000
- Revision:
- 3:28f7d0d3d199
- Parent:
- 2:b59bb999cffd
- Child:
- 4:bbd610d351fe
?????????? ???????? ?????? ??? ???? ???? (??????, ??????, ?????)
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| RuslanUrya | 0:4ef048c63bdc | 1 | #include "mbed.h" |
| RuslanUrya | 0:4ef048c63bdc | 2 | #include "stm32f103c8t6.h" |
| RuslanUrya | 3:28f7d0d3d199 | 3 | #define idc 2 |
| RuslanUrya | 3:28f7d0d3d199 | 4 | #define idp 3 |
| RuslanUrya | 3:28f7d0d3d199 | 5 | #define idw 4 |
| RuslanUrya | 3:28f7d0d3d199 | 6 | #define pi 3.141592653589793115997963468544185161590576171875 |
| RuslanUrya | 3:28f7d0d3d199 | 7 | #define speed_inc 0.20 |
| RuslanUrya | 0:4ef048c63bdc | 8 | |
| RuslanUrya | 0:4ef048c63bdc | 9 | CAN can (PA_11, PA_12); |
| RuslanUrya | 3:28f7d0d3d199 | 10 | Ticker copter; |
| RuslanUrya | 3:28f7d0d3d199 | 11 | Ticker planer; |
| RuslanUrya | 3:28f7d0d3d199 | 12 | Ticker wing; |
| RuslanUrya | 3:28f7d0d3d199 | 13 | |
| RuslanUrya | 3:28f7d0d3d199 | 14 | |
| RuslanUrya | 3:28f7d0d3d199 | 15 | void tCopter(){ |
| RuslanUrya | 3:28f7d0d3d199 | 16 | static double i = 0; |
| RuslanUrya | 3:28f7d0d3d199 | 17 | static double f; |
| RuslanUrya | 3:28f7d0d3d199 | 18 | i += speed_inc; |
| RuslanUrya | 3:28f7d0d3d199 | 19 | if (i > 2) i = 0; |
| RuslanUrya | 3:28f7d0d3d199 | 20 | f = (sin(i * pi) + 1.0) / 2 + 1; //1..2 |
| RuslanUrya | 3:28f7d0d3d199 | 21 | float send = static_cast<float>(f); |
| RuslanUrya | 3:28f7d0d3d199 | 22 | can.write(CANMessage(idc, (char*)&send, sizeof(send))); |
| RuslanUrya | 3:28f7d0d3d199 | 23 | } |
| RuslanUrya | 0:4ef048c63bdc | 24 | |
| RuslanUrya | 3:28f7d0d3d199 | 25 | void tPlaner(){ |
| RuslanUrya | 3:28f7d0d3d199 | 26 | static double i = 0; |
| RuslanUrya | 3:28f7d0d3d199 | 27 | static double f; |
| RuslanUrya | 3:28f7d0d3d199 | 28 | i += speed_inc; |
| RuslanUrya | 3:28f7d0d3d199 | 29 | if (i > 2) i = 0; |
| RuslanUrya | 3:28f7d0d3d199 | 30 | f = (sin(i * pi) + 1.0) / 2 + 1; //1..2 |
| RuslanUrya | 3:28f7d0d3d199 | 31 | float send = static_cast<float>(f); |
| RuslanUrya | 3:28f7d0d3d199 | 32 | can.write(CANMessage(idp, (char*)&send, sizeof(send))); |
| RuslanUrya | 3:28f7d0d3d199 | 33 | } |
| RuslanUrya | 3:28f7d0d3d199 | 34 | |
| RuslanUrya | 3:28f7d0d3d199 | 35 | void tWing(){ |
| RuslanUrya | 3:28f7d0d3d199 | 36 | static double i = 0; |
| RuslanUrya | 3:28f7d0d3d199 | 37 | static double f; |
| RuslanUrya | 3:28f7d0d3d199 | 38 | i += speed_inc; |
| RuslanUrya | 3:28f7d0d3d199 | 39 | if (i > 2) i = 0; |
| RuslanUrya | 3:28f7d0d3d199 | 40 | f = (sin(i * pi) + 1.0) / 2 + 1; //1..2 |
| RuslanUrya | 3:28f7d0d3d199 | 41 | float send = static_cast<float>(f); |
| RuslanUrya | 3:28f7d0d3d199 | 42 | can.write(CANMessage(idw, (char*)&send, sizeof(send))); |
| RuslanUrya | 0:4ef048c63bdc | 43 | } |
| RuslanUrya | 0:4ef048c63bdc | 44 | |
| RuslanUrya | 0:4ef048c63bdc | 45 | int main() { |
| RuslanUrya | 0:4ef048c63bdc | 46 | confSysClock(); |
| RuslanUrya | 3:28f7d0d3d199 | 47 | wait(1); |
| RuslanUrya | 3:28f7d0d3d199 | 48 | copter.attach(&tCopter, 0.1); |
| RuslanUrya | 3:28f7d0d3d199 | 49 | wait(3); |
| RuslanUrya | 3:28f7d0d3d199 | 50 | planer.attach(&tPlaner, 0.1); |
| RuslanUrya | 3:28f7d0d3d199 | 51 | wait(3); |
| RuslanUrya | 3:28f7d0d3d199 | 52 | wing.attach(&tWing, 0.1); |
| RuslanUrya | 0:4ef048c63bdc | 53 | while(1) { |
| RuslanUrya | 3:28f7d0d3d199 | 54 | |
| RuslanUrya | 0:4ef048c63bdc | 55 | } |
| RuslanUrya | 0:4ef048c63bdc | 56 | } |