added prescaler for 16 bit pwm in LPC1347 target

Fork of mbed-dev by mbed official

Committer:
JojoS
Date:
Sat Sep 10 15:32:04 2016 +0000
Revision:
147:ba84b7dc41a7
Parent:
80:bdf1132a57cf
added prescaler for 16 bit timers (solution as in LPC11xx), default prescaler 31 for max 28 ms period time

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 80:bdf1132a57cf 1 /* mbed Microcontroller Library
mbed_official 80:bdf1132a57cf 2 * Copyright (c) 2006-2015 ARM Limited
mbed_official 80:bdf1132a57cf 3 *
mbed_official 80:bdf1132a57cf 4 * Licensed under the Apache License, Version 2.0 (the "License");
mbed_official 80:bdf1132a57cf 5 * you may not use this file except in compliance with the License.
mbed_official 80:bdf1132a57cf 6 * You may obtain a copy of the License at
mbed_official 80:bdf1132a57cf 7 *
mbed_official 80:bdf1132a57cf 8 * http://www.apache.org/licenses/LICENSE-2.0
mbed_official 80:bdf1132a57cf 9 *
mbed_official 80:bdf1132a57cf 10 * Unless required by applicable law or agreed to in writing, software
mbed_official 80:bdf1132a57cf 11 * distributed under the License is distributed on an "AS IS" BASIS,
mbed_official 80:bdf1132a57cf 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 80:bdf1132a57cf 13 * See the License for the specific language governing permissions and
mbed_official 80:bdf1132a57cf 14 * limitations under the License.
mbed_official 80:bdf1132a57cf 15 */
mbed_official 80:bdf1132a57cf 16 #ifndef MBED_GPIO_OBJECT_H
mbed_official 80:bdf1132a57cf 17 #define MBED_GPIO_OBJECT_H
mbed_official 80:bdf1132a57cf 18
mbed_official 80:bdf1132a57cf 19 #include "cmsis.h"
mbed_official 80:bdf1132a57cf 20 #include "PortNames.h"
mbed_official 80:bdf1132a57cf 21 #include "PeripheralNames.h"
mbed_official 80:bdf1132a57cf 22 #include "PinNames.h"
mbed_official 80:bdf1132a57cf 23
mbed_official 80:bdf1132a57cf 24 #ifdef __cplusplus
mbed_official 80:bdf1132a57cf 25 extern "C" {
mbed_official 80:bdf1132a57cf 26 #endif
mbed_official 80:bdf1132a57cf 27
mbed_official 80:bdf1132a57cf 28 typedef struct {
mbed_official 80:bdf1132a57cf 29 PinName pin;
mbed_official 80:bdf1132a57cf 30 uint32_t mask;
mbed_official 80:bdf1132a57cf 31 uint32_t pin_number;
mbed_official 80:bdf1132a57cf 32
mbed_official 80:bdf1132a57cf 33 __IO uint32_t *reg_dir;
mbed_official 80:bdf1132a57cf 34 __IO uint32_t *reg_dirclr;
mbed_official 80:bdf1132a57cf 35 __IO uint32_t *reg_data;
mbed_official 80:bdf1132a57cf 36 __I uint32_t *reg_in;
mbed_official 80:bdf1132a57cf 37 } gpio_t;
mbed_official 80:bdf1132a57cf 38
mbed_official 80:bdf1132a57cf 39 static inline void gpio_write(gpio_t *obj, int value) {
mbed_official 80:bdf1132a57cf 40 if (value){
mbed_official 80:bdf1132a57cf 41 *obj->reg_data |= (obj->mask);
mbed_official 80:bdf1132a57cf 42 } else {
mbed_official 80:bdf1132a57cf 43 *obj->reg_data &= ~(obj->mask);
mbed_official 80:bdf1132a57cf 44 }
mbed_official 80:bdf1132a57cf 45 }
mbed_official 80:bdf1132a57cf 46
mbed_official 80:bdf1132a57cf 47 static inline int gpio_read(gpio_t *obj) {
mbed_official 80:bdf1132a57cf 48 return ((*obj->reg_in & obj->mask) ? 1 : 0);
mbed_official 80:bdf1132a57cf 49 }
mbed_official 80:bdf1132a57cf 50
mbed_official 80:bdf1132a57cf 51 #ifdef __cplusplus
mbed_official 80:bdf1132a57cf 52 }
mbed_official 80:bdf1132a57cf 53 #endif
mbed_official 80:bdf1132a57cf 54
mbed_official 80:bdf1132a57cf 55 #endif