Fixed with HAL.

Fork of ST_L152_32MHZ by Peter Drescher

Not finish yet. External crystal doesn't work.

Revision:
0:84e23a19e37d
Child:
1:bdeac50afe1a
diff -r 000000000000 -r 84e23a19e37d ST_L152_32MHZ.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ST_L152_32MHZ.h	Tue Mar 11 20:34:57 2014 +0000
@@ -0,0 +1,49 @@
+/* mbed library for the ST NUCLEO board L152RE 
+ * to change the CPU clock to 32 MHz
+ * A pll clock of 96 MHz is used to enable USB  
+ *
+ * Copyright (c) 2014 Peter Drescher - DC2PD
+ * Released under the MIT License: http://mbed.org/license/mit
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+ 
+ 
+#ifndef MBED_ST_L152_32MHZ_H
+#define MBED_ST_L152_32MHZ_H
+
+/** Setup cpu speed to 32 MHz
+ *
+ * @code
+ * #include "mbed.h"
+ * #include "ST_L152_32MHZ.h"
+ *
+ * // place the init before other code to ensure right timing of other objects !
+ * L152_init32 myinit(0);   // use the internal oscillator 
+ * 
+ */
+
+class L152_init32
+{
+public:
+ /** Create a L152_init32 object to change the clock
+   * @param external = 0 use internal oscillator
+   * @param external = 1 use external 8 MHz crystal - you have to add some comonents to the pcb !
+*/
+L152_init32(unsigned int external);
+int clk_err;
+
+protected:
+// do the magic ;-)
+int setup_clock_32MHZ(int external);
+};
+
+#endif
+
+