![](/media/cache/profiles/f0fcf351df4eb6786e9bb6fc4e2dee02.jpg.50x50_q85.jpg)
DRV8830/TI Motor Driver sample program.\\ This program can control two motors.
main.cpp@3:db817fb05ba7, 2014-07-12 (annotated)
- Committer:
- kenjiArai
- Date:
- Sat Jul 12 11:55:37 2014 +0000
- Revision:
- 3:db817fb05ba7
- Parent:
- 2:e0b9fd6126d1
- Child:
- 4:58734155cd29
ported from L152, monitor program on rtos
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kenjiArai | 2:e0b9fd6126d1 | 1 | /* |
kenjiArai | 2:e0b9fd6126d1 | 2 | * mbed Application program for the mbed ST NUCLEO F401RE Board |
kenjiArai | 2:e0b9fd6126d1 | 3 | * |
kenjiArai | 2:e0b9fd6126d1 | 4 | * Copyright (c) 2014 Kenji Arai / JH1PJL |
kenjiArai | 2:e0b9fd6126d1 | 5 | * http://www.page.sannet.ne.jp/kenjia/index.html |
kenjiArai | 2:e0b9fd6126d1 | 6 | * http://mbed.org/users/kenjiArai/ |
kenjiArai | 2:e0b9fd6126d1 | 7 | * Created: July 12th, 2014 |
kenjiArai | 2:e0b9fd6126d1 | 8 | * Revised: July 12th, 2014 |
kenjiArai | 2:e0b9fd6126d1 | 9 | * |
kenjiArai | 2:e0b9fd6126d1 | 10 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, |
kenjiArai | 2:e0b9fd6126d1 | 11 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE |
kenjiArai | 2:e0b9fd6126d1 | 12 | * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, |
kenjiArai | 2:e0b9fd6126d1 | 13 | * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
kenjiArai | 2:e0b9fd6126d1 | 14 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
kenjiArai | 2:e0b9fd6126d1 | 15 | */ |
kenjiArai | 2:e0b9fd6126d1 | 16 | |
kenjiArai | 2:e0b9fd6126d1 | 17 | // Include --------------------------------------------------------------------------------------- |
bcostm | 0:028fac66239d | 18 | #include "mbed.h" |
kenjiArai | 3:db817fb05ba7 | 19 | #include "rtos.h" |
bcostm | 1:e9d1c42a73ae | 20 | |
kenjiArai | 2:e0b9fd6126d1 | 21 | // Object ---------------------------------------------------------------------------------------- |
kenjiArai | 2:e0b9fd6126d1 | 22 | DigitalOut myled(LED1); |
kenjiArai | 3:db817fb05ba7 | 23 | DigitalIn usr_sw(PC_13); |
kenjiArai | 3:db817fb05ba7 | 24 | |
kenjiArai | 3:db817fb05ba7 | 25 | // Function prototypes --------------------------------------------------------------------------- |
kenjiArai | 3:db817fb05ba7 | 26 | extern int mon( void); |
bcostm | 1:e9d1c42a73ae | 27 | |
kenjiArai | 2:e0b9fd6126d1 | 28 | //------------------------------------------------------------------------------------------------- |
kenjiArai | 2:e0b9fd6126d1 | 29 | // Control Program |
kenjiArai | 2:e0b9fd6126d1 | 30 | //------------------------------------------------------------------------------------------------- |
kenjiArai | 3:db817fb05ba7 | 31 | int read_sw (void){ |
kenjiArai | 3:db817fb05ba7 | 32 | if (usr_sw == 0){ return 1; |
kenjiArai | 3:db817fb05ba7 | 33 | } else { return 0;} |
kenjiArai | 3:db817fb05ba7 | 34 | } |
kenjiArai | 3:db817fb05ba7 | 35 | |
kenjiArai | 3:db817fb05ba7 | 36 | // Monitor program |
kenjiArai | 3:db817fb05ba7 | 37 | void mon_thread(void const *args){ |
kenjiArai | 3:db817fb05ba7 | 38 | while (true){ mon(); } |
kenjiArai | 3:db817fb05ba7 | 39 | } |
kenjiArai | 3:db817fb05ba7 | 40 | |
kenjiArai | 3:db817fb05ba7 | 41 | // Thread definition |
kenjiArai | 3:db817fb05ba7 | 42 | osThreadDef(mon_thread, osPriorityNormal, 2048); |
kenjiArai | 3:db817fb05ba7 | 43 | |
bcostm | 0:028fac66239d | 44 | int main() { |
kenjiArai | 3:db817fb05ba7 | 45 | // Starts 1st thread |
kenjiArai | 3:db817fb05ba7 | 46 | osThreadCreate(osThread(mon_thread), NULL); |
kenjiArai | 3:db817fb05ba7 | 47 | while(1) { |
bcostm | 0:028fac66239d | 48 | myled = !myled; |
kenjiArai | 3:db817fb05ba7 | 49 | Thread::wait(1000); |
kenjiArai | 3:db817fb05ba7 | 50 | } |
bcostm | 0:028fac66239d | 51 | } |
bcostm | 0:028fac66239d | 52 |