Skip to content

Instantly share code, notes, and snippets.

@aviansun
aviansun / virtualcomport.m
Created June 7, 2011 17:26
PIC Serial on USB Virtual Com Port
function [t1] = ADC()
%open com port
pic =serial('COM18','BaudRate',19200,'DataBits',8,'Parity','none','StopBits',1,'FlowControl','none','Terminator','LF');
fopen(pic);
pic.ReadAsyncMode = 'continuous';
display('Press w or s to change the timespan of the window');
display('Press a or z to change the lowerbound of vertical axis');
@aviansun
aviansun / pins.ucf
Created May 17, 2011 21:24
Pins for Digital Clock
NET "clk50" TNM_NET = "clk50";
TIMESPEC "TS_clk50" = PERIOD "clk50" 50 MHz HIGH 50 %;
NET "clk50" LOC = "B8";
NET "segments<7>" LOC = "L18"; # SEGMENTs
NET "segments<6>" LOC = "F18";
NET "segments<5>" LOC = "D17";
NET "segments<4>" LOC = "D16";
NET "segments<3>" LOC = "G14";
@aviansun
aviansun / Digi_Clock.vhd
Created May 17, 2011 21:15
Digital Clock in VHDL Nexys 2 Board
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity counter is
Port ( clk : in STD_LOGIC;
reset : in STD_LOGIC;
hour : in std_logic;
anode : out std_logic_vector(3 downto 0);
@aviansun
aviansun / USBPIC.m
Created May 14, 2011 16:59
USBPIC.m
function [t] = USBPIC()
loadlibrary mpusbapi _mpusbapi.h alias library;
vid_pid_norm = libpointer('int8Ptr',[uint8('vid_04d8&pid_000c') 0])
[PIC_connect] = calllib ('library','MPUSBGetDeviceCount', vid_pid_norm)
out_pipe = libpointer ('int8Ptr',[uint8('\MCHP_EP1') 0])
[my_out_pipe] = calllib('library','MPUSBOpen',uint8(0), vid_pid_norm,out_pipe, uint8(0), uint8 (0))
in_pipe = libpointer ('int8Ptr',[uint8('\MCHP_EP1') 0])
[my_in_pipe] = calllib('library','MPUSBOpen',uint8(0), vid_pid_norm,in_pipe, uint8 (1), uint8 (0))