Windows 7 Driver Issues

I just got two Teensies (3.1), and my computer has trouble recognizing one of them (Teensy A). I've soldered pin headers and a crystal for the RTC. When I connect it via USB, there's no sound that something has been plugged in, the device manager doesn't change to show a new device, and nothing new appears under "Devices and Printers". However, I can upload sketches to it that seem to run: while I can't get the serial output to work, if I upload Blink, the LED blinks like normal. If I press the button, the computer plays the 'device connected' sound and the Device Manager refreshes, but then nothing new appears. If I connect Teensy A to a different computer (Teensyduino not installed), nothing happens until I press the button, at which point it recognizes that something is connected and starts searching for drivers. Currently, Teensy A has the default HelloSerialMonitor sketch loaded.
The second Teensy (Teensy B), fresh from the package. When I connected THAT one for the first time, Windows immediately recognized that something was plugged in and commenced to searching for a driver. Once the driver installed (which required a restart), it shows up in the Device Manager as "HID-compliant device" and appears in "Devices and Printers" as "Teensyduino RawHID" whenever connected. Teensy A still is not recognized by Windows, but I can still write sketches to it.
Both Teensies are set to "USB type: Raw HID", which (if I'm correct) is what I want for Serial.print, since Teensy isn't actually communicating through serial over USB.
I've tried the Serial Driver Installer and reinstalling from the Teensyduino installer.

Is there a way to find whatever settings/drivers/whatever that are associated with Teensy A and reset it so that Windows can install it correctly?
 
Okay, so maybe I misunderstood the CPU speed settings. I thought I'd read somewhere that 16 MHz was the fastest without overclocking, so I set the speed to that, ignoring the words "No USB". :rolleyes:
Changed the speed to 72 MHz, suddenly everything works fine now.
 
Most all ARM Cortex (and others) have an internal or external clock oscillator such as a 16MHz crystal.
In the MCU, there is a phase-locked-loop (PLL) oscillator that is synchronized to the crystal osc. frequency, but the PLL operates at a much higher frequency, say, 96MHz. The PLL frequency is chosen in the software. The MCU starts up at the crystal frequency then programs the desired PLL frequency, then switches to the PLL as the main clock.

The T3 shows up as a serial port ONLY if your program loaded into the T3 opens the Serial port (Serial.begin()). The downloading is done with a special USB protocol unrelated to serial.

Serial.begin(9600) creates a virtual serial device via USB.
 
Back
Top